Passage de variables avec les sessions

Eléphanteau du PHP | 22 Messages

27 juil. 2005, 21:02

Bonjour à tous !

Bon je vous explique mon problème.
J'ai réalisé une anim flash ( non non je ne me suis pas trompé de forum lol ) qui charge un fichier php à chaque lancement pour connaitre les images qu'elle doit afficher. Problème ce fichier est tjs le meme.

J'ai donc trouvé une astuce, l'utilisateur sélectionne la catégorie d'image qu'il veut afficher et ca lance un fichier produits.php qui fait la requete dans MySQL , j'ai donc un array $result.
Cet array qu'est spécifique a chaque utilisateur faut que je le passe au fichier qu'appelle flash.
J'essaye donc de le passer par les sessions mais ca marche pas.
Quand j'essaye d'afficher la variable ca me marque : $SESSION['affichage']=0 ....

Est il possible donc de passer une variable de résultats MySQL en session et sinon avez vous une autre technique a me proposer ...

Merci d'avance
Antoine
Antoine PACAUD
www.sloadnet.com

Mammouth du PHP | 19672 Messages

27 juil. 2005, 21:09

Est-ce que tes pages commencent bien toutes par :
<?php
session_start();
// ... reste du code
:?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

28 juil. 2005, 01:26

oué elle commence toutes par session_start();
pour info si je passe $_SESSION['affichage']="essai' ca passe , mais des que je passe $_SESSION['affichage']=$result ( le resultat de la requete) ca passe pas ... :cry:

une idée ?
Antoine PACAUD
www.sloadnet.com

Eléphanteau du PHP | 22 Messages

28 juil. 2005, 03:32

Peut-être réussis-tu à passer ta variable correctement mais qu'elle est vide... (cela expliquerait pourquoi elle est égale à zéro)...

Pour vérifier cela, insère à quelques endroits des print_r() et des var_dump() sur la variable en question afin de vérifier si le contenu que tu veux passer est bel et bien le bon.

Aussi, peut-être que de nous montrer un petit bout de code pourrait nous mettre sur une piste :wink:.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."

Eléphanteau du PHP | 22 Messages

28 juil. 2005, 08:24

Alors j'ai fait ce que stukov a dit voila ce que ca donne :
		// On récupere l'id de la catégorie a afficher
		@$idcat = $_GET['idcat'];
		if($idcat=="")
		{
			header("Location: proc_produits.php?do=showcat");
			exit();
		}
		// On récupere les produits associés
		$sql = "SELECT * FROM produit WHERE idCategorie='$idcat' AND statut='ACTIF'";
		$result = mysql_query($sql) or die(mysql_error());
		
		// On stocke le résultat en session
		session_start();
		$_SESSION['affichage'] = $result;
		var_dump($result); // Renvoie resource(4) of type (mysql result) 
		echo "<br><br>";
		var_dump($_SESSION['affichage']); // Renvoie resource(4) of type (mysql result) 

Le var_dump retourne donc bien le bon type de données sur cette page.

Par contre la page qu'appelle flash :
// Durée d'affichage des images en seconde
$defaultTimer = 3;
// On récupere le tableau contenant les produits à afficher
session_start();
$produits = $_SESSION['affichage'];
var_dump($produits); // Renvoie int(0)
La ca foire ....
Antoine PACAUD
www.sloadnet.com

ViPHP
pjl
ViPHP | 2119 Messages

28 juil. 2005, 08:52

Ce que tu veux faire ne veut rien dire.
$_SESSION['affichage']=$result ( le resultat de la requete) 
Tu as un résultat de requête qu'il te faut exploiter ensuite.

Lis donc ce tuto. Tout y est expliqué :
http://www.phpdebutant.org/article66.php

Eléphanteau du PHP | 22 Messages

28 juil. 2005, 09:40

Ce que tu veux faire ne veut rien dire.
$_SESSION['affichage']=$result ( le resultat de la requete) 
Tu as un résultat de requête qu'il te faut exploiter ensuite.

Lis donc ce tuto. Tout y est expliqué :
http://www.phpdebutant.org/article66.php
Je sais tres bien exploiter le résultat de la requete SQL , le probleme c'est que j'ai besoin de generer le resultat de la requete dans une page , et de l'exploiter dans la deuxieme avec un passage par session !
Antoine PACAUD
www.sloadnet.com

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

28 juil. 2005, 10:12

Où est le problème ?
Pourquoi ne pas faire le traitement du résultat dans la même page ?

Eléphanteau du PHP | 22 Messages

28 juil. 2005, 10:19

J'ai résolu le problème en exploitant directement les données dans la premiere page et en les passant dans un array par session dans la deuxieme.
Antoine PACAUD
www.sloadnet.com