[RESOLU] boucle foreach avec session array

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] boucle foreach avec session array

par Truc » 07 févr. 2008, 15:30

Non, tu dois le mettre dans chaque fichier de script pour (grossomodo) "signaler" que des variables de session vont être utilisées.

Si un fichier B est inclus dans un fichier A alors seul dans le fichier A tu dois faire appel a session_start().

par Invité » 07 févr. 2008, 14:38

Non j'ai un script qui gère la session de l'utilisateur identifié, mais je l'ai retiré pour les tests. C'est surement sa le problème alors. Juste pour précision, le session_start() je ne doit le mettre qu'une seule fois non dans le premier script ? Sinon a chaque fois il va me créer une nouvelle session et effacer les variables que j'avais déja en session c'est bien sa ?

par Truc » 07 févr. 2008, 14:12

un (des) session_start() quelque part ?

par Invité » 07 févr. 2008, 13:06

Code : Tout sélectionner

var_dump($_SESSION['vehicule']);
renvoi NULL. Je ne comprend pas pourquoi dailleurs.
Dans mon code j'ai bien

Code : Tout sélectionner

$_SESSION['vehicule']['vehicule_id'] = $vehicule_id; //autres propriétés mises en session header("Status: 301 Moved Permanently"); header("Location: photo.php");
c'est dans photo.php que j'effectue la boucle foreach.
Est ce la redirection qui pourrait poser problème sinon je vois pas, c'est super simple comme code, mais cela ne fonctionne pas.

par Berzemus » 07 févr. 2008, 11:25

Ah.. perdu alors..

Et que donne
var_dump($_SESSION['vehicule']);
comme suggéré par Sékiltoyai

par Invité » 07 févr. 2008, 10:52

J'ai aussi testé de cette manière :

Code : Tout sélectionner

foreach($_SESSION['vehicule'] as $val) { echo htmlentities($val).' '; }
Avec la même erreur

par Berzemus » 07 févr. 2008, 10:40

et cela indique le premier foreach.
c'est vrai que c'est souvent inutile, le numéro de la ligne. Je configurerais bien mon php pour qu'il ne me l'affiche plus. Les défis, j'adore :wink: .

Ceci dit, je remets 10 brouzoufs sur le second foreach, à moins que $vehicule_marque soit un tableau.

par Sékiltoyai » 07 févr. 2008, 10:28

var_dump() est ton ami…
Montre nous en le résultat, pour vérifier que c"est bien un tableau…

par Invité » 07 févr. 2008, 10:25

Salut si je n'ai pas mis le reste c'est que cela n'aide pas. La suite du message est juste le fichier php et le numéro de la ligne pour laquelle j'ai l'erreur et cela indique le premier foreach.
J'initialise ma variable de session de cette façon :

Code : Tout sélectionner

$_SESSION['vehicule']['vehicule_marque'] = $vehicule_marque; //Autres propriétés d'un véhicule mis en session de la même manière.
Donc pour moi c'est bien un array sa.
Sinon si le foreach ne fonctionne pas je pourrai essayé un autre type de boucle, mais le foreach avait l'air sympathique.

par Sékiltoyai » 07 févr. 2008, 02:14

Oui, et au passage, si tu ne sais pas ce qu'il y a dans ta variable, var_dump() est ton ami…

par Truc » 06 févr. 2008, 22:15

Ptet que c'est le premier foreach() :idea: :!: :?: :lol:

Dans tous les cas le message d'erreur te dit que l'argument [... coupé pour économiser de la place sur le forum ...] :langue:

... l'argument (le 1er) passé à foreach() n'est pas un tableau

par Berzemus » 06 févr. 2008, 21:23

C'est gentil de mettre la moitié du message d'erreur, sinon, ce serait trop facile :roll: ..

Je prends les paris sur le second foreach(), et du fait que $val retourné par le premier foreach n'est pas un tableau, mais une chaine, et que donc, on ne peut utiliser foreach dessus. Même qu'un petit "echo $val", à l'intérieur du premier foreach, permettrait de vérifier mes dires (ou pas) :D .

boucle foreach avec session array

par Invité » 06 févr. 2008, 21:17

Bonjour, je voudrais bouclé sur des valeurs qui sont en session mais j'ai l'erreur Invalid argument supplied for foreach() in

Voici le bout de code :

Code : Tout sélectionner

<?php foreach($_SESSION['vehicule'] as $val) { foreach($val as $value) { echo htmlentities($value).'&nbsp;'; } } ?>
Est ce possible de boucler comme ceci ? Bon désolé si vous avez les cheveux qui se dressent en lisant mon code mais je commence à peine en php.
Merci de l'aide.