Variables $_session et $_get

Variables $_session et $_get - PHP - Programmation

Marsh Posté le 07-03-2004 à 11:56:08    

Bonjour à tous,
 
je viens enfin de passer sur easyphp 1.7 pour la creation de la nouvelle version de mon site et naturellement je rencontre des problèmes avec la gestion des variables.

Code :
  1. session_start();
  2. echo $_SESSION['langue'];
  3. if($_GET['langue']=="fr" ){
  4. include("includes/lang_pack_fr.php" );
  5. $_SESSION["langue"]="fr";
  6. }else if($_GET['langue']=="en" ){
  7. include("includes/lang_pack_en.php" );
  8. $_SESSION["langue"]="en";
  9. }else{
  10. if($_SESSION["langue"]=="fr" ){
  11.  include("includes/lang_pack_fr.php" );
  12.  $_SESSION["langue"]="fr";
  13. }else if ($_SESSION["langue"]=="en" ){
  14.  include("includes/lang_pack_en.php" );
  15.  $_SESSION["langue"]="en";
  16. };
  17. };


Le principe est simple, j'ai 2 drapeaux sur ma page avec un lien du type index.php?langue=fr ou en et je veux qu'une fois que l'utilisateur a fait son choix, les infos soient enregistrees dans la session.
 
Avec ce code, qd j'ai une url du type index.php?langue=fr ou en ca marche. Par contre, lorsque j'ai une url du type index.php, j'ai des erreurs qui apparaissent du type :
 
Notice: Undefined index: langue in c:\program files\easyphp\www\isd-upv3\index.php on line 8
 
Notice: Undefined index: langue in c:\program files\easyphp\www\isd-upv3\index.php on line 12
 
J'ai deja retourne ces #{]@~# de variables dans tous les sens mais soit j'ai une erreur dans un sens soit dans l'autre.
 
Comment dois-je procèder ??
 
D'avance merci

Reply

Marsh Posté le 07-03-2004 à 11:56:08   

Reply

Marsh Posté le 07-03-2004 à 12:10:17    

déjà, c'est quoi ces ; après les } à la fin ??
 
Sinon, le problème vient peut-être de là : GET["langue"]==


Message édité par jagstang le 07-03-2004 à 12:10:52
Reply

Marsh Posté le 07-03-2004 à 12:16:11    

j'ai viré les 2 ; et remplacé le GET['langue'] par GET["langue"] mais ca n'a rien change

Reply

Marsh Posté le 07-03-2004 à 13:16:18    

faut tester si ta variable existe avec isset()


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 07-03-2004 à 16:37:55    

Par défaut dans le fichier php.ini d'EasyPHP 1.7, register_globals est bien mis à "On" ?

Reply

Marsh Posté le 07-03-2004 à 16:55:56    

Teste ta variable d'url et stocke la dans une autre variable ...
 
if ( !empty($_GET['langue']) )
  $langue = $_GET['langue'];
 else
  $langue = '';
 
Tu peux définir une langue par défaut comme ça ...

Reply

Marsh Posté le 07-03-2004 à 17:18:10    

ok merci, j'ai d'abord utilisé une astuce avec les @ avant les variables et j'ai fini avec la methode de ingeni_killer. Merci à tous.

Reply

Marsh Posté le 08-03-2004 à 14:48:36    

Yana a écrit :

Par défaut dans le fichier php.ini d'EasyPHP 1.7, register_globals est bien mis à "On" ?

no a OFF


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed