probleme sur switch/case sur 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 : probleme sur switch/case sur variable de session

par choubix » 19 oct. 2007, 20:37

oui Berze,

qd j'utilisais : switch ($_SESSION['error'])
pas de message d'erreur MAIS les 2 "Case" s'affichaient a l'ecran... :)

vous aviez tous raison et moi tord... :oops: (pas bien de taper les nouveaux avec une hache!!! ;) )

par Berzemus » 19 oct. 2007, 20:29

:axe: mais c'est pas le break qui fait foirer..

Toi tu mets:
switch ($_SESSION[error]) 
Or, c'est
switch ($_SESSION['error']) 
plus clair, je meurs..

par choubix » 19 oct. 2007, 20:25

|*()

je merite le fouet pour avoir oublie le break; ... marrant comme tard le soir comme ca je fais des oublis pareils (il est 2.30am... bientot le rugbyyyyyyyyyy :) )

merci a tous les 3 :)

par Tracker » 19 oct. 2007, 20:17

Et
switch ($_SESSION['error'])
{
  case "1":
    print "cas numero 1";
    // au passage il faut mettre un break sinon tu vas également exécuter le case "2"
    break;

  case "2":
    print "cas numero 2";
}
?>
Ne fonctionne pas ?

par choubix » 19 oct. 2007, 20:15

je viens de tester avec un IF au lieu d'un switch et ca marche...
par contre j'ai bien besoin que le SWITCH marche sinon ca va etre l'enfer cette page...

la requete de test IF:

Code : Tout sélectionner

if($_SESSION['error'] = 1) { // after login we move to the main page print "error type 1"; } else { print "error type 0"; }

la requete switch qui ne marche pas (meme avec les quotes ' ' ):

Code : Tout sélectionner

switch ($_SESSION[error]) { case "1": print "cas numero 1"; case "2": print "cas numero 2"; } ?>
q un a une idee pour que le switch fonctionne svp?

par Berzemus » 19 oct. 2007, 20:14

ouhla, tu n'as pas compris on dirais..

tu avais mis $_SESSION[error]

Alors que pour faire juste, zeus t'a dit de faire $_SESSION["error"]

Ca ne sert a plus rien de mettre '$_SESSION["error"]', pasqu'alors ça devient une chaine de caractères, et non une variable.

edit:arh, grillé. sacré tracker.

par Tracker » 19 oct. 2007, 20:13

Salut,

Pourquoi des " autour de $_SESSION['error'] ???

Code : Tout sélectionner

switch ($_SESSION['error'])

Tracker.

[Edit] Berzemus :wink:

par choubix » 19 oct. 2007, 20:06

bonjour Zeus, 'ai utilise des quotes ' comme tu suggeres:

avec a la ligne 6:

Code : Tout sélectionner

switch ("$_SESSION['error']")
ca me retourne:

Code : Tout sélectionner

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files\EasyPHP 2.0b1\www\lottery\error.php on line 6

d'ailleurs je ne capte pas pourquoi quand je cree une variable de session je dois utiliser les quotes du type ' et quand je les utilise (print par exemple) je n'en ai pas besoin... ca m'a fait tourner en bourrique epndant un bout ca... ;)

as tu une autre idee pour faire marcher ce switch stp?

par zeus » 19 oct. 2007, 19:53

Est-ce que, si tu cherches l'index 'error', il ne serait pas judicieux de chercher l'index 'error', c'est à dire de mettre les '
$_SESSION['error']

;)

probleme sur switch/case sur variable de session

par choubix » 19 oct. 2007, 19:47

hellp,

j'ai cree une variable de session "error" qui va prendre des valeurs differentes en fonction de l'erreur (l'email deja utilise, produit non disponible etcetc) donc: une page qui gere tout...

quand j'appelle ma variable de session et que je fais un test j'ai cette erreur:
Notice: Use of undefined constant error - assumed 'error' in C:\Program Files\EasyPHP 2.0b1\www\lottery\error.php on line 3
cas numero 1cas numero 2
<?php session_start(); 

switch ($_SESSION[error])
{
case "1":
print "cas numero 1";

case "2":
print "cas numero 2";
}
?>
par contre quand je peux afficher la variable de session a l'ecran sans probleme.

qq un pourrait me dire ce qui ne va pas svp?

j'ai essaye de mettre des quotes " et ' mais au mieux ca ne m'affiche pas l'erreur mais ca m'affiche "cas numero 1" ET "cas numero 2"

merci