erreur pour récupérer une variable de session

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 : erreur pour récupérer une variable de session

par mussara » 11 juil. 2005, 14:59

merci beaucoup pour les explications claires...

sincèrement

par zeus » 11 juil. 2005, 14:37

Pour t'expliquer, ta variable est dans le tableau $_POST car elle provient d'un formulaire

Si tu veux qu'elle soit utilisable à plusieurs endroits, il faut que tu l'enregistres dans une variable de session. Pour ce, il faut faire
session_start();

$var = $_POST["var"];
$_SESSION["var"] = $var;

echo $var;
le extract n'est qu'un confort qui permet de ne pas trainer $_POST ou $_SESSION mais je le trouve dangereux car immagine que tu fasse
extract($_SESSION);
extract($_POST);
$var correspond à $_POST["var"] ou $_SESSION["var"] ?

par mussara » 11 juil. 2005, 14:32

oui... j'ai l'impression que je mélange un peu tout... je débute...

je cherche à récupérer une variable que j'ai déclarée dans une méthode POST
et ensuite de l'afficher
mais je souhaite que cette variable soit globale, donc qu'elle suive tout l'arborescence du site pour pouvoir la réutiliser...

donc je me disais qu'il fallait que travaille avec les sessions...

par zeus » 11 juil. 2005, 14:29

C'est pas parce que tu utilise extract qu'il va mettre les variables dans des variables de session

extract($_POST) remplace $_POST["var"] par $var

essaye cette ligne
echo 'langue : '.$langue;

par ouckileou » 11 juil. 2005, 14:27

qu'est-ce que c'est que ce extract($_POST)

tu manipules bien des variables de sessions là non ? alors pourquoi POST ?
et puis pourquoi extract...?

dégages ce extract, tu n'en as pas besoin

avec session_start(), tu dois pouvoir récupérer une variable comme ceci :
$variable = $_SESSION['variable'];
à condition qu'elle soit initialisée avant, ce qui ne semble pas être le cas ici

par mussara » 11 juil. 2005, 14:25

merci....

mais maintenant j'ai:
Notice: Undefined index: langue in c:\jp\home\site_web\new_haisoft_lezartistes\php\langue1.php on line 5

je pensais qu'avec le

Code : Tout sélectionner

session_start(); extract($_POST);
il me récupérerai la variable???

par ouckileou » 11 juil. 2005, 14:14

echo 'langue : '$_SESSION['langue']''; 
les concaténations chaines/variables se font avec un point
et les guillemets de fin sont inutiles
echo 'langue : '.$_SESSION['langue']; 

erreur pour récupérer une variable de session

par mussara » 11 juil. 2005, 14:12

bonjour

j'ai du mal... beaucoup de mal!!!!

j'essaie http://lezartistes.org/test/choixlangue.php de récupérer et d'afficher une variable transmise par un POST et j'ai le message d'erreur suivant:

Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in /home/httpd/vhosts/lezartistes.org/httpdocs/test/php/langue1.php on line 5

le code lancé (choixlangue.php):

Code : Tout sélectionner

<html> <head> <title>test</title> </head> <body> <form method="post" action="php/langue1.php"> <p> <label> <input type="radio" name="radio1" value="fra" checked>fran&ccedil;ais</label> <br> <label><input type="radio" name="radio1" value="ang">anglais</label> <br> <label><input type="radio" name="radio1" value="esp">espagnol</label> <br> </p> <table border="0" width="400" align="left"> <tr> <td colspan="2"> <input type="submit" name="submit" value="langue"> </td> </tr> </table> </form> </body> </html>
le fichier langue1.php:
<?php 
 session_start();
 extract($_POST);
// $_SESSION['langue'] = $data['langue'];
 echo 'langue : '$_SESSION['langue']'';
?>
qui peut m'aider à résoudre mon problème de syntaxe...?

merci beaucoup