Problème de session php

oriviera Messages postés 47 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 31 mai 2007 - 3 nov. 2005 à 00:38
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 8 nov. 2005 à 23:57
Bonjour,
Voilà gros problme avec les sessions je sais ce n'est pas nouveau, mais je ne comprend rien car dans un cas de figure
ca fonctionne très bien et dans l'autre rien.


SVP un coup de main ca fait deux jours que j'essaie de me dé......patouiller et là je ne vois pas la solution.
Merci d'avance.



Trois scripts ou les sessions fonctionnent bien login.php verif.php et recupsession.php
FICHIER login.php
un formulaire


<html>
<head>
<title>PAGE UNE</title></head>

<form name="form" action="verif.php" method='post' enctype="multipart/form-data">
Login :,
,

----

Password,
,

----

Num&eacute;ro de secu,
,

----

ID,
,

----

Nom,
,

----

</form>

</html>


FICHIER verif.php
recupération du formulaire de login.php


<?php require_once('../../../Connections/iupaic.php'); ?>
<?php
extract($_POST);
// je recupère toutes les données saisies dans login.php
$_SESSION['LOGIN'] = $LOGIN;
$_SESSION['PASS'] = $PASS;
$_SESSION['NUM_SS'] = $NUM_SS;
$_SESSION['ID_ADMIN'] = $ID_ADMIN;
$_SESSION['NOM'] = $NOM;
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<form name="form2" enctype="multipart/form-data" method="post" action="recupsession.php" >


</form>

</html>


fichier recupsession.php


<?php
extract($_POST);
// je recupère le chemin de mon fichier saisi dans verif.php
echo $zoro;
$_SESSION['essai'] = $zoro;
?>
<html>
<head>
<title>recup session</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<!-- ici j'ai bien tout-->
<?php
echo $LOGIN;
echo $PASS;
echo $NUM_SS;
echo $ID_ADMIN;
echo $NOM;


echo $zoro;
session_destroy();
?>

</html>


Dans ces trois scripts tout onctionne bien je récupère bien les infos que je fais circuler à l'aide de session
par contre ppour la suite ce n'est pas pareil.


Tous ces scripts ont été dévelppés avec DEAMWEAVER MX
FICHIER ajout.php



<?php require_once('../../../Connections/iupaic.php'); ?>
<?phpfunction GetSQLValueString($theValue, $theType, $theDefinedValue "", $theNotDefinedValue "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;


switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}


$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}


if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO equipe_administrative (ID_ADMIN, NOM, NUM_SS) VALUES (%s, %s, %s)",
GetSQLValueString($HTTP_POST_VARS['ID_ADMIN'], "int"),
GetSQLValueString($HTTP_POST_VARS['LOGIN'], "text"),
GetSQLValueString($HTTP_POST_VARS['NUM_SS'], "text"));


mysql_select_db($database_iupaic, $iupaic);
$Result1 = mysql_query($insertSQL, $iupaic) or die(mysql_error());


$insertGoTo = "ajoutimag.php";
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}


mysql_select_db($database_iupaic, $iupaic);
$query_admin = "SELECT ID_ADMIN FROM equipe_administrative ORDER BY ID_ADMIN DESC";
$admin = mysql_query($query_admin, $iupaic) or die(mysql_error());
$row_admin = mysql_fetch_assoc($admin);
$totalRows_admin = mysql_num_rows($admin);
// je fais une lecture pour récupérer le dernier enregistrement
$i = $row_admin['ID_ADMIN'];
$i++;
echo $i;
?>
<html>
<head>
<title>CREATION D'UNE PERSONNE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}


function MM_validateForm() { //v3.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf([mailto:'@' '@']);
if (p<1 || p==(val.length-1)) errors+='Le champ '+nm+' doit contenir une adresse e-mail.\n';
} else if (test!='R') { num = parseFloat(val);
if (val!=''+num) errors+='Le champ '+nm+' doit contenir un nombre.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' doit contenir un nombre entre '+min+' et '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += 'Le champ '+nm+' doit être rempli.\n'; }
} if (errors) alert(' Les erreurs suivantes se sont produites :\n'+errors); document.MM_returnValue (errors '');
}
//-->
</script>

<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
ID_ADMIN:,
" size="32">,

----

NOM:,
,

----

NUM_SS:,
,

----

&nbsp;,


</form>
&nbsp;



</html>
<?php
mysql_free_result($admin);
?>



Fichier ajoutimag.php



<?php require_once('../../../Connections/iupaic.php'); ?>
<?php


// //dans ce sript j'ai essayé de placer ici
echo "coucou de depart";
extract($_POST);
echo $secu;
echo $admin;
echo $NOM;
$_SESSION['secu']=$secu;
$_SESSION['admin']=$admin;
$_SESSION['NOM']=$NOM;
echo "coucou fin";
// //


$colname_ajoutimag = "1";
if (isset($HTTP_POST_VARS['id'])) {
$colname_ajoutimag = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['id'] : addslashes($HTTP_POST_VARS['id']);
}


// //dans ce sript j'ai essayé de placer là
echo "coucou de depart";
extract($_POST);
echo $secu;
echo $admin;
echo $NOM;
$_SESSION['secu']=$secu;
$_SESSION['admin']=$admin;
$_SESSION['NOM']=$NOM;
echo "coucou fin";
// //


mysql_select_db($database_iupaic, $iupaic);$query_ajoutimag sprintf("SELECT ID_ADMIN, NOM, DOSSIER_PHOTO, NUM_SS FROM equipe_administrative WHERE ID_ADMIN %s", $colname_ajoutimag);
$ajoutimag = mysql_query($query_ajoutimag, $iupaic) or die(mysql_error());
$row_ajoutimag = mysql_fetch_assoc($ajoutimag);
$totalRows_ajoutimag = mysql_num_rows($ajoutimag);


// //dans ce sript j'ai essayé de placer là
echo "coucou de depart";
extract($_POST);
echo $secu;
echo $admin;
echo $NOM;
$_SESSION['secu']=$secu;
$_SESSION['admin']=$admin;
$_SESSION['NOM']=$NOM;
echo "coucou fin";
// //


?>
<html>
<head>
<title>Dossier photo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<form name="form" method="post" action="../Uploadfichier/page_receptrice2.php" enctype="multipart/form-data">
<?php extract($_POST);

// //dans ce sript j'ai essayé de placer là
echo $secu;
echo $admin;
echo $NOM;
$_SESSION['secu']=$secu;
$_SESSION['admin']=$admin;
$_SESSION['NOM']=$NOM;
// //

mais rien ne fonctionne, je ne récupére rien

?>
Veuillez s&eacute;lectionner l'image &agrave;
charger :

</form>,

----

Retour au Menu
FormulaireMenu Administratif
Retour &agrave; l'Accueil

</html>
<?php
mysql_free_result($ajoutimag);
?>

6 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
3 nov. 2005 à 07:26
Salut!

Il manque THE fonction: la fonction session_start()



http://www.phpcs.com/code.aspx?ID=23628



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 nov. 2005 à 09:54
c'est pas super bien programmé...

" mélangés avec '

extract($_POST); c'est pas super super, ça peut provoquer des failles ou des bugs dans certains cas....

sprintf n'a pas d'interet en php...

t'as des lignes de commentaires sans commentaires....



bref, mieux vaut commencer par faire un code propre quand on a un bug à éradiquer....


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
oriviera Messages postés 47 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 31 mai 2007
7 nov. 2005 à 00:33
Bonjour,
j'ai en effet résolu le pb en tapant mon code sans généré, ce qui fait que ca fonctionne très bien maintenant. pour ce qui est de session_start je m'en passe je me sert d' extract(); et pour sprintf y en a plus c'est dreamweaver qui le génère.
Merci de votre aide.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
7 nov. 2005 à 20:21
alors essai de ne plus utiliser dream...



fait réponse accéptée stp



@+

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oriviera Messages postés 47 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 31 mai 2007
8 nov. 2005 à 23:06
bonjour
je continuerai à l'utiliser mais en tant qu'aide et non en tant que source de soucis.
A+
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
8 nov. 2005 à 23:57
"pour ce qui est de session_start je m'en passe je me sert d' extract();" J'hurle dans mon moi-meme :D

Quid : Quelle est la relation entre une session et une fonction d'extraction de variable d'un tableau ? Aucune.

Si tu utilises $_SESSION, il te faut session_start().
Par contre, extract($_POST), comme a dit coucou, c'est bon pour les scripts qui ne sortirons jamais de ton clavier.

Et essaye de bien écrire quand tu codes, c'est illisible j'ose meme pas mettre les yeux dessus :)
0
Rejoignez-nous