erreur pour récupérer une variable de session

Eléphanteau du PHP | 21 Messages

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

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']; 

Eléphanteau du PHP | 21 Messages

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???

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

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
Modifié en dernier par ouckileou le 11 juil. 2005, 14:30, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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;
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 21 Messages

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...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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"] ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 21 Messages

11 juil. 2005, 14:59

merci beaucoup pour les explications claires...

sincèrement