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/04/2006, 10h21   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 13
Points : 13
Par défaut Problème pour les variables de session

J'ai fait un formulaire et il faut que je récupère les variables mais qu'elles restent en mémoire et qu'elles puissent se transmettre d'une page à l'autre sans passer par l'url. Je donc en train d'essayer avec les variables de session mais je n'y arrive pas.

Voici le code du fichier session.php qui est appelé lorsqu'on valide le formulaire de la page précédente :
Citation:
<? session_start();
$marque = $_POST['marque'];
$modele = $_POST['modele'];
$vo_prix_vente_min = $_POST['vo_prix_vente_min'];
$vo_prix_vente_max = $_POST['vo_prix_vente_max'];
$energie = $_POST['energie'];
$_SESSION['marque'] = $marque;
$_SESSION['modele'] = $modele;
$_SESSION['vo_prix_vente_min'] = $vo_prix_vente_min;
$_SESSION['vo_prix_vente_max'] = $vo_prix_vente_max;
$_SESSION['energie'] = $energie;
header("Location: liste_tri_numero.php?" . session_name() . "=". session_id());

?>
Voilà ensuite le bout de code que j'utilise pour remettre en mémoire les variables et pouvoir exécuter ma requête (fichier liste_tri_numero.php):
Citation:
<?
session_start();
require('fonction.inc');
require('fonctions2.php');

$marque = $_SESSION['marque'];
$modele = $_SESSION['modele'];
$vo_prix_vente_min = $_SESSION['vo_prix_vente_min'];
$vo_prix_vente_max = $_SESSION['vo_prix_vente_max'];
$energie = $_SESSION['energie'];


// Vérification que les variables du formulaires ne sont pas vides

$sql = 'SELECT * FROM vehicule WHERE 1 ';
if($marque!='(vide)') {
$sql .= ' AND marque = "'.$marque.'"'; }

if($modele!='(vide)'){
$sql .= ' AND modele = "'.$modele.'"'; }
if($vo_prix_vente_min!='(vide)'){
$sql .= ' AND prix >= "'.$vo_prix_vente_min.'"'; }
if( $vo_prix_vente_max!='(vide)'){
$sql .= ' AND prix <= "'.$vo_prix_vente_max.'"'; }

if($energie!='(vide)'){
$sql .= ' AND energie = "'.$energie.'"'; }



// on exécute la requête

$res = executer_requete($sql);
$total = mysql_num_rows($res);
Pouvez-vous me dire ce qui ne va pas dans mon code? merci
brotelle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 10h24   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
message d'erreur ? comportement du script ? comportement attendu ? prix de la boule de cristal ? type de café ?
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 10h27   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 13
Points : 13
lol désolé...

Ben il me dit déjà qu'il n'y a pas de résultat trouvé par rapport aux critères de recherche de mon formulaire et voici les erreurs :

Notice: Undefined index: marque in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 9

Notice: Undefined index: modele in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 10

Notice: Undefined index: vo_prix_vente_min in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 11

Notice: Undefined index: vo_prix_vente_max in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 12

Notice: Undefined index: energie in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 13
brotelle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 10h29   #4
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 13
Points : 13
Je précise que les lignes 9 etc... sont celles-ci :

Citation:
$marque = $_SESSION['marque'];
$modele = $_SESSION['modele'];
$vo_prix_vente_min = $_SESSION['vo_prix_vente_min'];
$vo_prix_vente_max = $_SESSION['vo_prix_vente_max'];
$energie = $_SESSION['energie'];
brotelle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 10h39   #5
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
as-tu vérifier que la session était bien transmise, c'est à dire que le session_id() était bien le même pour les deux scripts ?
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 10h55   #6
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 13
Points : 13
Oui les id des sessions sont bien les même.
En fait quand je fais la recherche, j'appuie sur le bouton lancer la recherche, et ça m'affiche ce qu'il faut. Par contre si j'appuie sur un champ pour trier et ben là ça me met qu'il n'y a pas de résultats, je comprends pas... et voilà la tete de ma requête avec les erreurs quand le problème se produit :

Notice: Undefined index: marque in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 9

Notice: Undefined index: modele in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 10

Notice: Undefined index: vo_prix_vente_min in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 11

Notice: Undefined index: vo_prix_vente_max in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 12

Notice: Undefined index: energie in c:\program files\easyphp1-8\www\stage\liste_tri_numero.php on line 13

SELECT * FROM vehicule WHERE 1 AND marque = "" AND modele = "" AND prix >= "" AND prix <= "" AND energie = "" ORDER BY energie ASC limit 0,2

il n'y a rien dans les variables... alors que pour la première page ça a marché!
brotelle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 10h59   #7
Membre éprouvé
 
Inscription : février 2005
Messages : 401
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2005
Messages : 401
Points : 450
Points : 450
A tout hasard, as tu bien vérifié avant d'enregistrer tes valeurs dans la session qu'elles étaient bien remplies ?

En gros :
$marque = $_POST['marque'];

Est ce que $_POST['marque'] contient bien ce que tu veux ?

Je pense que oui sinon tu aurais eu une erreur avant mais bon ... on ne sait jamais
Sylvain71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 10h59   #8
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 13
Points : 13
En fait j'ai compris, dans le fichier j'avais mis session_destroy(), et comme pour trier par champs j'appelle le même fichier, ben la session se fermait à chaque fois.... c'est pour ça que les variables n'étaient pas conservées!!
Maintenant mon problème est de savoir où est-ce que je ferme ma session?
brotelle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 11h00   #9
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Je pense que ça vient des paramètres de PHP, à priori, les sessions ne sont pas transmises, vérifie les différentes valeurs de config de ton PHP
(session_use_cookie à 1, use_cookie_only à 0, use_trans_id à 1 et le paramètre de réécriture des liens correctement renseigné )
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 11h02   #10
Membre éprouvé
 
Inscription : février 2005
Messages : 401
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2005
Messages : 401
Points : 450
Points : 450
" Maintenant mon problème est de savoir où est-ce que je ferme ma session?"

Jamais Ou alors si l'utilisateur a un bouton "Déconnecter", tu la détruits quand il click dessus.
Sylvain71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 11h19   #11
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 13
Points : 13
Ouais mais si je ne ferme jamais ma session, le serveur va être encombré
brotelle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 11h22   #12
Membre éprouvé
 
Inscription : février 2005
Messages : 401
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2005
Messages : 401
Points : 450
Points : 450
Non, php va se charger de supprimer ça tout seul quand la session arrivera à expiration ... enfin je crois ...

Regarde la documentation sur les sessions sur php.net

Mais bon ... je ne pense pas que ça posera de probleme, je n'ai jamais entendu parler de serveur encombré par les fichiers de sessions

PHP sait faire beaucoup de choses tout seul comme un grand
Sylvain71 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 10h38.


 
 
 
 
Partenaires

Hébergement Web