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 15/11/2007, 16h06   #1
Invité de passage
 
Inscription : février 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 7
Points : 3
Points : 3
Par défaut problème des variables de sessions

Bonjour -

je reviens vers vous puisque j'ai problème dans l'affichage de mes variable de sessions - je m'explique -

j'ai plusieurs pages et sur chaque page j'ai un des formulaire à remplir - j'ai mis le bouton de précédent et suivant pour avancer sur les pages et revenir en arrière pour corriger les données que j'ai saisis dans le formulaire que je remplis - une fois que je remplis toutes les formulaires sur chaque page l'enregistrement ( insertion dans les differentes tables ) se fait à la dernière page avec le bouton valider.

le problème qui se pose c'est que les données sont enregistrés dans le mémoire virtuel et quand je retourne dès le début pour saisir le formulaire pour d'autre personnes - le données saisis de nouveau sont affichés en plus avec slash exemple : '\'qsdf\''

Je ne sais plus quoi faire - pourriez vous me conseiller s'il vous plaît le temps me presse et je ne sais plus comment corriger cet anomalie
merci d'avance

Thania

voici le scrîpt de ma dernière page.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?
 
include ("fonctions_mysql.php");
 
session_start();
if (!isset($_SESSION['sg']))
  {
 
  echo "une erreur de mot de passe" . $_SESSION['no_individu'] ;
 
	exit;
  }
elseif ($_SESSION['sg']==0)
  {
    echo "acces interdit";
	exit;
  }
elseif ($_SESSION['sg']==1)
  {
}
OuvrirBase();
 
 
$champs = array('lc_souhait','deroulement_evalue','deroulement_evaluateur',
'date_creation','sign_evalue','sign_evaluateur');
foreach ( $champs as $c)
  {
    if (isset($_POST[$c]))
	  {
	    $_SESSION['cubo_'.$c] = $_POST[$c];
      }
  }
 
 
 
 
$champs = array('objectif1','niv_real1',
'objectif2','niv_real2','objectif3','niv_real3',
'objectif4','niv_real4','objectif5','niv_real5',
'evenement','point_fort','point_effort');
foreach ( $champs as $c)
  {
   if (isset($_SESSION['cubo_'.$c]))
	  {
	    $_SESSION['cubo_'.$c] = "'" . mysql_real_escape_string($_SESSION['cubo_'.$c]) . "'";
      }
  }
 
$ret = "INSERT INTO relation_objectif SET 
				NO_INDIVIDU =" . htmlentities($NO_INDIVIDU) . ",
			 	LC_OBJECTIF1=".$_SESSION['cubo_objectif1'].", 
				LC_OBJECTIF2=".$_SESSION['cubo_objectif2'].", 
				LC_OBJECTIF3=".$_SESSION['cubo_objectif3'].", 
				LC_OBJECTIF4=".$_SESSION['cubo_objectif4'].", 
				LC_OBJECTIF5=".$_SESSION['cubo_objectif5'];
 
$relt = mysql_query($ret);
Thania est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2007, 16h31   #2
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Salut, je n'ai pas lu ton POST en entier mais quand tu utilises les sessions, tu dois mettre ton "session_start();" avant toute chose y compris un include

Code :
1
2
3
4
5
 
<?php
session_start();
//la suite
?>

++
JC
__________________
VELOMASTER, idée cadeau ? un jeu de plateau

Hummmmm, des donuts !!!!

Merci de penser à , et et aussi
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2007, 19h29   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
C'est ce que vous demandez, a priori, ici :
Code :
$_SESSION['cubo_'.$c] = "'" . mysql_real_escape_string($_SESSION['cubo_'.$c]) . "'";
Si vous modifiez directement votre variable, le résultat est tout à fait normal (surtout s'il y a encore la fonctionnalité magic_quotes_gpc activée derrière) !
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 09h00   #4
Invité de passage
 
Inscription : février 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 7
Points : 3
Points : 3
Par défaut les variables de sessions

Excusez moi M. Julp je n'ai pas compris comment et ou je dois

Si vous modifiez directement le variable, pour que le résultat est tout à fait normal (surtout s'il y a encore la fonctionnalité magic_quotes_gpc activée derrière) !


et comme M. jc_cornic m'a suggéré j'ai mis mais ça ne change pas à mon problème
Code :
1
2
3
4
5
 
 <?php
session_start();
//la suite
?>

Merci d'avance
Thania
Thania est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 11h57   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Vous modifiez directement vos variables de session par la ligne que j'ai montré plus haut, par conséquent leurs valeurs s'en retrouvent alors échappées ainsi que précédées et suivies d'une quote. Vous pourriez supprimer totalement votre boucle foreach et écrire pour votre requête ceci à la place :
Code :
1
2
3
4
5
6
7
$ret = "INSERT INTO relation_objectif SET 
				NO_INDIVIDU =" . htmlentities($NO_INDIVIDU) . ",
			 	LC_OBJECTIF1=".mysql_real_escape_string($_SESSION['cubo_objectif1']).", 
				LC_OBJECTIF2=".mysql_real_escape_string($_SESSION['cubo_objectif2']).", 
				LC_OBJECTIF3=".mysql_real_escape_string($_SESSION['cubo_objectif3']).", 
				LC_OBJECTIF4=".mysql_real_escape_string($_SESSION['cubo_objectif4']).", 
				LC_OBJECTIF5=".mysql_real_escape_string($_SESSION['cubo_objectif5']);
Ainsi vous devriez conserver les valeurs que vous attendiez ...
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 13h54   #6
Invité de passage
 
Inscription : février 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 7
Points : 3
Points : 3
Par défaut Merci merci merci milles mercis



je vous remercie infiniement-
quel bonheur d'avoir de vos conseils précieux -
vous êtes des génies informatiques

thania
Thania 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 10h49.


 
 
 
 
Partenaires

Hébergement Web