Euh ... tu retransmets au serveur des données qu'il connait déjà.
Où est l'intérêt ? Tu t'en sert côté client ?
J'ai une petite idée sur ce que tu cherches à faire ... tu devrais utiliser les sessions.
<?php $numctr = $_POST["numctr"]; $ctract = $_POST["ctract"]; $includeAllowed = array( 'entete-client.php' => 1, 'banniere_client.php' => 1, 'menu_client.php' => 1, 'centre_client.php' => 1, 'bas_client.php' => 1, ); include ('entete_client.php'); include('banniere_client.php'); include('menu_client.php'); include('centre_client.php'); include('bas_client.php'); ?>
<?php print(" "); print("\"); print(\"---- \"); print(\"Visualiser les informations , \"); print(\"|, \"); print(\"Demander un document , \"); print(\"|, \"); print(\"Quitter , \"); print(\"\"); print(" "); print(" "); ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question[include de l'entête, bannière, etc ...] // tableau des pages autorisées $includeAllowed = array( 'machin', 'truc' ); if(isset($_GET['partieCentrale']) // test que la variable GET existe bien dans l'url transmise && in_array($_GET['partieCentrale'], $includeAllowed)) { // test si la page est autorisée à l'affichage include($_GET['partieCentrale'].'.php'); // inclus la page demandée } else include 'default.php'; // sinon inclus la page par défaut [include pied de page, ...] ?> [index.php?partieCentrale=machin machin] [index.php?partieCentrale=truc truc] [index.php?partieCentrale=bidule bidule]
Bon, je pense que je vais tout simplement recréer l'ensemble de mes pages à chaque fois
l'impression que seul le cadre central est rechargé
<?php $numctr = ""; $nomctr = ""; $ctract = ""; //après plusieurs test et accès à la base je récupère certaines infos : $numctr = mysql_result($result,$index,"utilisateur.numctr"); $nomctr = mysql_result($result,$index,"utilisateur.nomctr"); $ctract = mysql_result($result,$index,"utilisateur.ctract"); ?> //si mes flag d'erreurs sont à false, alors j’inclus et j'exécute le fichier suivant : <?php print("<html>"); print("<head>"); print("<title>Test espace perso</title>"); print("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>"); print("</head>"); print(""); print("<form name='login' method='post' action='/espaceperso/principal.php' target='_top'>"); print(""); print(""); print(""); print("</form>"); print(""); print("</html>"); ?> // et donc l'appel au fichier principal via le form nous fait arriver ce que j'ai donné au début : <?php $numctr = $_POST["numctr"]; $nomctr = $_POST["nomctr"]; $ctract = $_POST["ctract"]; include ('entete_client.php'); include('banniere_client.php'); include('menu_client.php'); include('centre_client.php'); include('bas_client.php'); //Avec le menu plus loin.. ?>
$_GET['partieCentrale']
[index.php?partieCentrale=machin machin]
Comment faire pour générer mon tableau au sein de ma partie centrale de la page en cours ? [...]
j'ai tout d'abord un fichier principal qui génère la page
En fait, l'identification se fait via la méthode post, et pour les autres exécutions on passe à la méthode GET...
Pourtant mes infos ne sont jamais visibles dans la barre d'adresse.
Mes liens sont dans mon menu et non pas dans mon fichier principal
print("<td class='cellule_menuclient'> Visualiser les infos </td>"); //contenu_espaceperso représente l'id de la DIV dans mon css, et correspond au div central de la page centre_client.php
Notice: Undefined index: numctr in \\srv\Test\SiteWeb\page\espaceperso\principal_client.php on line 3
Pour le moment je reçois le message d'erreur suivant pour mes 3 variables
J'ai compris que c'était l'inclusion du fichier de contenu appelé grâce au lien cliqué, mais ça représente quoi dans mes pages ?
menu_client.php [...] <td class='cellule_menuclient'> Visualiser un truc </td> <td class='cellule_menuclient'> Visualiser une autre page </td> principal_client.php <?php // définition du tableau contenant les pages autorisées à l'affichage $includeAllowed = array( 'principal_client', 'connexion', 'truc', 'autrePage' //, [toutes les autres pages autorisées] ); /** * définition de la page du "contenu changeant" à inclure */ if (isset($_GET['contenu_espaceperso']) // test que la variable GET existe bien dans l'url transmise && in_array($_GET['contenu_espaceperso'], $includeAllowed)) { // test si la page est autorisée à l'affichage // remarque que j'ajoute l'extension ici, plutôt que la faire transiter via l'url $pageContenuChangeant = $_GET['partieCentrale'] . '.php'; } else $pageContenuChangeant = 'default.php'; // sinon inclus la page par défaut, peut être connexion.php ?> <html> <head> [doctype, metas, etc ...] </head> <?php include ('entete_client.php'); include('banniere_client.php'); include('menu_client.php'); //[éventuellement d'autres includes ou du code HTML/JS commun à toutes les pages'] /** * tu peux, ou pas, mettre un div ici, ou plusieurs, ou autre chose dès l'instant ou il s'agit * d'éléments communs à toutes les pages; L'id que tu donnes à tes balises HTML * n'a rien à voir avec le nom de la page à inclure */ /** * la partie qui change en fonction du lien cliqué */ include($pageContenuChangeant); // inclusion du fichier demandé include('bas_client.php'); //[éventuellement d'autres includes ou du code HTML/JS commun à toutes les pages'] ?> </html> infosclient.php <?php /** * récupération des données postées */ if (isset($_POST['login']) && isset($_POST['pass'])) { $login = $_POST['login']; $pass = $_POST['pass']; /** * attention : en fonction de l'usage que tu fais de login et pass * il conviendra sans doute de les traiter pour limiter les failles de sécurité */ } else //[si pas de réception de login et pass ...] ?> [pas de balises head, body, ... puisque déjà présent dans principal_client.php] Je suis la page "infosclient.php" qui a été incluse dans principal_client.php, lui même appellé par le formulaire de la page connexion.php ("principal_client.php?contenu_espaceperso=infosclient.php") j'ai reçu les données suivante provenant de connexion.php en POST : <?php echo $login . ' '; echo $pass . ' '; ?> patati patata, traitement, ... autrePage.php [pas de balises head, body, ... puisque déjà présent dans principal_client.php] <?php if(isset($_GET['param1'])) { $param1 = $_GET['param1']; } else { $param1 = 'oups, je n\'existe pas'; } ?> Je suis la page autrePage.php, incluse dans principal_client.php qui a été appellée via un clic sur le lien "Visualiser une autre page" j'ai reçue cette donnée en GET : echo $param1; connexion.php [pas de balises head, body, ... puisque déjà présent dans principal_client.php] <form method='POST' action='principal_client.php?contenu_espaceperso=infosclient'> > </form> [...]
//après plusieurs test et accès à la base je récupère certaines infos :
$numctr = mysql_result($result,$index,"uti[...];
//si mes flag d'erreurs sont à false, alors j’inclus et j'exécute le fichier suivant :
print("<form name='login' method='post' action='/espaceperso/principal.php' target='_top'>");
print("");
print("");
print("");
print("</form>");
<?php $numctr = $_POST["numctr"]; $nomctr = $_POST["nomctr"]; $ctract = $_POST["ctract"]; $pageContenuChangeant =""; $includeAllowed = array( 'principal_client', 'entete_client', 'banniere_client', 'menu_client', 'centre_client', 'bas_client', 'infosclient', 'demandeinfos' ); if (isset($_GET['centre_client']) && in_array($_GET['centre_client'], $includeAllowed)) { $pageContenuChangeant = $_GET['centre_client'] . '.php'; } include ('entete_client.php'); include ('banniere_client.php'); include ('menu_client.php'); include ($pageContenuChangeant); include ('bas_client.php'); ?>
<?php print(" "); print("\"); print(\"---- \"); print(\"Visualiser les dossiers , \"); print(\"|, \"); print(\"Quitter , \"); print(\"\"); print(" "); print(" "); ?>
"partieCentrale" (que tu appelles "contenu_espaceperso") représente le nom du fichier qui devra être inclu dans index.php (que tu appelles "principal_client.php")
if (isset($_GET['contenu_espaceperso'])
&& in_array($_GET['contenu_espaceperso'], $includeAllowed)) {
$pageContenuChangeant = $_GET['partieCentrale'] . '.php';
} else
$pageContenuChangeant = 'default.php';
je me mélange les pinceaux
Donc ce que je comprend c'est que contenu_espaceperso = partieCentrale (même chose, il s'agit finalement de la page centre_client.php ??)
A moins que contenu_espaceperso et partieCentrale représente 2 pages différentes et dans ce cas il me manque une page^^
Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;C:\User\Application\Php') in \\srv\Test\SiteWeb\page\espaceperso\principal_client.php on line 36
include ($pageContenuChangeant);
impossible d'inclure le fichier de nom '' (vide) dans principal_client.php à la ligne 36
... tout simplement :
la variable $_GET['centre_client'] n'existe pas, ou existe mais n'est pas présente dans le tableau des pages autorisées.
De plus, l'inclusion se fait bien puisque mon lien fonctionne et que la partie centrale est créée ?!
The requested URL /domaine_fra/page/espaceperso/function.include was not found on this server.
Bon alors, le nom exact du fichier de création de l'espace perso c'est "principal_client.php" ! Il exécute les includes des autres fichiers php.
http://siteweb.domaine.int/domaine_fra/page/espaceperso/principal_client.php