Page 1 sur 1
mes test ne marche pas!
Posté : 25 sept. 2006, 14:46
par arno77
Je fais un test sur des variables passé en URL mais c'est comme si il n'y avait aucun test toutes les données s'affiche sans distinction.
Je ne vois pas mon erreur.
Est ce que quelqu'un peut m'aider.
D'avance merci.
if (isset($_GET['lien'])){
if( $_GET['lien']=_ADD_SM) {echo 'add sm<br>';}
if( $_GET['lien']=_ADD_DEV) {echo 'add dev<br>';}
if( $_GET['lien']=_ADD_CONT_DEV) {echo 'add dev cont<br>';}
}else{
echo'accueil';
}
Posté : 25 sept. 2006, 14:52
par charabia
if (isset($_GET['lien']))
{
if($_GET['lien']=="_ADD_SM") {echo 'add sm<br />';}
if($_GET['lien']=="_ADD_DEV") {echo 'add dev<br />';}
if($_GET['lien']=="_ADD_CONT_DEV") {echo 'add dev cont<br />';}
}
else
{
echo 'accueil';
}
"_ADD_SM" est du texte que tu passes par l'URL ? Si oui mets des guillemets.
Il te faut un double égal dans ton if.
Posté : 25 sept. 2006, 16:06
par mere-teresa
Si tu ne mets pas le double égal , PHP fait alors deux actions dans le IF :
1/ il affecte la valeur _ADD_SM à ta variable
2/ il teste que cette opération ne renvoie pas FALSE (donc que l'affectation s'est bien passée).
C'est pour cela que tu as toujours bon à ce test.
Posté : 26 sept. 2006, 10:23
par arno77
Les _ADD_SM et autres sont des constantes passé en url.
Si je met un double egal il trouve bien le $_GET['lien'] donc rentre dans le premier "if isset" mais ne fait d'autre test ou en tout cas ne m'affiche rien pas le resultat voulu à l'écran
Posté : 26 sept. 2006, 10:44
par charabia
Dans ce cas tu fais avec des else.
Si alors...sinon si....sinon....
<?php if (isset($_GET['lien']))
{
if($_GET['lien']=="_ADD_SM")
{
echo 'add sm<br />';
}
elseif($_GET['lien']=="_ADD_DEV")
{
echo 'add dev<br />';
}
else
{
echo 'add dev cont<br />';
}
}
else
{
echo 'accueil';
}
?>
Pour le dernier else, tu n'as pas besoin de donner de condition puisque c'est le dernier.
Posté : 26 sept. 2006, 14:26
par arno77
il me fallait mettre entre cote les _ADD* et mettre un double =
if (isset($_GET['lien'])){
if( $_GET['lien']=='_ADD_SM') {echo 'add sm<br>';}
if( $_GET['lien']=='_ADD_DEV') {echo 'add dev<br>';}
if( $_GET['lien']=='_ADD_CONT_DEV') {echo 'add dev cont<br>';}
}else{
echo'accueil';
}
merci à tous
Posté : 26 sept. 2006, 14:48
par charabia
il me fallait mettre entre cote les _ADD* et mettre un double =
Ne serais-ce pas ce qu'on a mis depuis le début ?
Utilises les elseif c'est mieux
