Utilisation de session - PHP - Programmation
Marsh Posté le 22-06-2004 à 10:57:54
Ce message veut dire que la variable prenom_contact n'a pas été enregistré dans la session, donc l'index n'existe pas.
Quand tu passes du formulaire1 à la page, de quelle manière s'opère ce passage ?
Pierre
Marsh Posté le 22-06-2004 à 12:02:41
en fait j'ai fait une fichier 'saisie_contact.php3" qui ne contient quasiment que du code HTML, ce fichier crée le formulaire, en cliquant sur le bouton valider les informations sont envoyées sur enregistremnt_contact.php3 (la ou j'ai mis le coide php qui permet de faire les insertions dans la base de données, au début de ce fichier j'y ait mis le code $_SESSION['prenom_contact']=$_POST['prenom_contact']; etc...)
Mais si dans une des listes deroulante du premier formulaire (formulaire 1), l'utilisateur choisit "autre", on le redirige sur une autre page avec un header (mais les informations ne sont pas encore sauvegardées puisque le premier fromulaire n'est qu'a moitié remplit" )
Marsh Posté le 22-06-2004 à 12:11:43
La seule solution que j'entrevoit est qu'au moment de la redirection ( qui se fait en js, je présume ), tu inseres dans l'url, les paramètres supplémentaires.
Une autre solution, serait de changer le action du form de facon à rediriger vers la bonne page du style :
Code :
|
De cette facon, la page autre recoit les paramètres déjà présent dans le formulaire et les mets en session pour les réécrire dans la page formulaire1
Marsh Posté le 22-06-2004 à 13:49:18
En fait je programme en php, et j'aimerais éviter de toucher à du javascript que je connais encore moins.
Est-ce qu'il existe une solution en php à mon problème ?
Marsh Posté le 22-06-2004 à 14:47:44
Le php étant coté serveur, et si le formulaire n'est pas soumis ( donc les données non transmises ), il n'y a pas d'autres solution que celle de changer l'action du formulaire
Pierre
Marsh Posté le 22-06-2004 à 10:53:28
Merci, ça marche
Jai un autre problème maintenant.
Lutilisateur commence à remplir un formulaire « formulaire1 », mais au milieu du formulaire il est redirigé sur une autre page. Quand il revient sur « formulaire 1 », jaimerais que les informations quil a renseigné auparavant y restent, pour quil puisse continuer à remplir « formulaire1 » sans avoir à recommencer à entrer les informations.
Cest donc ici que je dois utiliser les variables de sessions
Mais cest dans quelle partie du code que je dois mettre echo $_SESSION['prenom_contact'];
Est ce que cest bien dans le code HTML qui définit le formulaire et dans value?
<input type="text" name="prenom_contact" maxlength="20" value="<?php echo $_SESSION['prenom_contact']; ?>">
Parce quil apparaît ce message derreur dans le champ texte de prenom_contact, (oui dans le champs texte !!, cest à dire quau lieu d avoir une case vide à remplir , il y a une case avec ce message à lintérieur :
br /><b>Notice</b>: Undefined index: prenom_contact in <b>c:\program files\easyphp1-7\www\traçabilité\formulaires\saisie_contact.php3</b> on line <b>46</b><br />
Merci, ça marche
Jai un autre problème maintenant.
Lutilisateur commence à remplir un formulaire « formulaire1 », mais au milieu du formulaire il est redirigé sur une autre page. Quand il revient sur « formulaire 1 », jaimerais que les informations quil a renseigné auparavant y restent, pour quil puisse continuer à remplir « formulaire1 » sans avoir à recommencer à entrer les informations.
Cest donc ici que je dois utiliser les variables de sessions
Mais cest dans quelle partie du code que je dois mettre echo $_SESSION['prenom_contact'];
Est ce que cest bien dans le code HTML qui définit le formulaire et dans value?
<input type="text" name="prenom_contact" maxlength="20" value="<?php echo $_SESSION['prenom_contact']; ?>">
Parce quil apparaît ce message derreur dans le champ texte de prenom_contact, (oui dans le champs texte !!, cest à dire quau lieu d avoir une case vide à remplir , il y a une case avec ce message à lintérieur :
br /><b>Notice</b>: Undefined index: prenom_contact in <b>c:\program files\easyphp1-7\www\traçabilité\formulaires\saisie_contact.php3</b> on line <b>46</b><br />