Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2007, 21h55   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 36
Points : 10
Points : 10
Par défaut Choix des variables de session

bonjour,
pour bien commercer son travail ?
ce que je fais (mais est-ce bien ???) :
page de saisie 1 du formulaire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
session_name('tototest');  // page 1 
session_start(); 
echo $tablerreur; // n'imprime rien la 1ère fois 
$_SESSION['mtd']= 0; //  variable de calcul 
$_SESSION['nomp']= "nomp"; // nom champ saisie 
$_SESSION['prenomp']= "prenomp"; // prenom champ saisie 
.... 
<body> 
<input type="hidden" name="retour" value="identite1.php"/> 
<form name="aid1" action="tridentite2.php" method="post" enctype="multipart/form-data"> 
<input type="text" name="nomp" value="<?php echo $nomp;?>" > 
// objectif si je reviens sur cette page je reaffiche la variable nomp que j'ai controlé en page 2.
mais j'ai une erreur : il ne connait pas la variable nomp dans l'input !
question 1
la session est-elle bien déclarée ?
question 2
au lieu de
$_SESSION['nomp']= "nomp"; // nom champ saisie
dois je mettre ??
$_SESSION[$nomp]= "nomp"; // nom champ saisie
question 3
lorsque je vais revenir sur cette page en cas d'erreur, les variables vont être remise à blanc ou a 0 ? je ne pourrais pas les réafficher !
dur dur
question 4
est-ce que je peux avoir un "tag" sur ma page pour y revenir ?
en cas d'erreur page de controle, le 'header retour' me renvoi en haut de page 1. c'est pour cela que j'ai mis
echo $tablerreur. (pour imprimer les noms des champs en erreur ) mais est-ce que cela va marcher ??
merci
_________________
la vie est une maladie sexuellement transmissible, et 100 % mortelle !
webasso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 22h12   #2
Candidat au titre de Membre du Club
 
Inscription : septembre 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 36
Points : 10
Points : 10
Par défaut le bon choix des variables (de session)

meme en mettant
Code :
1
2
 
$_SESSION[$nomp]='nomp';
et meme en ajoutant (après cet essai)
Code :
1
2
 
<input type="text" name="nomp" value="<?php echo $_SESSION[$nomp];?>" >
il ne reconnait pas la variable

<br /><b>Notice</b>: Undefined variable: nomp in <b>C:\wamp\www\fsg08\identite1a.php</b> on line <b>76</b><br />nomp
quelle methode ?
merci
webasso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 22h26   #3
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par webasso Voir le message
question 1
la session est-elle bien déclarée ?
oui c'est ce qu'il faut pour avoir la tableau $_SESSION à disposition

Citation:
Envoyé par webasso Voir le message
question 2
au lieu de
$_SESSION['nomp']= "nomp"; // nom champ saisie
dois je mettre ??
$_SESSION[$nomp]= "nomp"; // nom champ saisie
non c'est bon
si tu utilises une variable, tu peux faire ça par exemple :
Code :
1
2
$variable = 'nomp';
echo $_SESSION[$variable]; // affiche le contenu de $_SESSION['nomp']
pour tes autres questions je n'ai pas compris ce que tu veux faire ou obtenir
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 22h43   #4
Invité régulier
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 5
Points : 5
Par défaut question 3 :D

bonsoir
Pour ta question 3 :
Si j'ai bien compris, dans ta page 2, tu effectues un contrôle sur tes champs et en cas d'erreur tu renvoie vers la page 1 et tu voudrais savoir si tes valeurs rentrées précédemment seront gardés ?
guitou_429 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 23h14   #5
Candidat au titre de Membre du Club
 
Inscription : septembre 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 36
Points : 10
Points : 10
pour Guitou429 et Matthieu
absoluement, je "rame" depuis quelques jours pour trouver la formule en PHP, pour revenir sur la page de saisie avec ses champs remplis. (si j'ai découvert une erreur )
j'ai essayé tous les retours (js ou header) et tout est remis à blanc.
j'essaie de faire entrer dans le champ de saisie une variable de session (php n'en veut pas). alors je me demandes comment faire.
j'ai réécrit la page de controle ou je stocke les erreurs dans une variable. et à la fin la variable n'est pas 'nulle' je reviens sur la page 1 en afffichant les erreurs (echo $tablerreur.
webasso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 08h35   #6
Invité régulier
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 5
Points : 5
essaye de faire une action javascript comme
if(pas bon
echo "<script....";
echo "window.alert('pas bon');";
echo "windows.history.back();";
echo "</script>";

En gros si c'est pas bon, l vas te faire une alert pas bon puis il va retourner dans l'historique sur la dernière page. La je pense qu'il gardera en mémoire tes variables
guitou_429 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 13h32   #7
Candidat au titre de Membre du Club
 
Inscription : septembre 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 36
Points : 10
Points : 10
Code :
1
2
3
4
5
6
7
8
 
echo $tablerreur;  // trace pour savoir si cela fonctionne
			if ($tablerreur == "") {
		 	 include('_it_fsg08.php'); // insert localhost 
		 	 mysql_close(); 
								}
								else { 
								 echo"<a href='javascript:history.back()'>Retour</a>";
ce code fonctionne sous la forme suivante :
dans $tablerreur j'ai bien stocké tous mes messages d'erreur. echo $tablerreur est ici pour tester si je captais bien ces messages -
en cas d'erreur j'affiche bien les messages suivi du bouton retour (de historygoback)
lorsque je clicque sur retour, je reviens sur la page du formulaire de saisie, dont tous les champs sont à blanc.
et sur cette page 1
Code :
1
2
3
4
 
session_start(); 
	if ($tablerreur<>"") {
	echo $tablerreur;  $tablerreur =""; }
cela ne fonctionne pas, aucun message ne s'affiche.
cela me fait 2 disfonctionnements : pas d'affichage de la liste des erreurs sur la page de saisie du formulaire, et pas de champs saisi affiché.
webasso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 20h05   #8
Candidat au titre de Membre du Club
 
Inscription : septembre 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 36
Points : 10
Points : 10
si je mets
Code :
1
2
 
header("Location: identite1a.php", TRUE, 307);
je reviens bien en arriere, 1/ retour sur l'adresse mentionnée. et 2/ ce qui est sur la page de retour s'exécute.
Code :
1
2
3
4
5
 
session_name('stg50');  // page 1
session_start(); 
	if ($tablerreur<>"") {
	echo $tablerreur;  $tablerreur =""; }
l'echo n' affiche pas les erreurs, anormal.
et je retrouve une page blanche.
webasso est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h54.


 
 
 
 
Partenaires

Hébergement Web