mes test ne marche pas!

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 : mes test ne marche pas!

par charabia » 26 sept. 2006, 14:48

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

Utilises les elseif c'est mieux ;)

par arno77 » 26 sept. 2006, 14:26

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

par charabia » 26 sept. 2006, 10:44

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.

par arno77 » 26 sept. 2006, 10:23

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

par mere-teresa » 25 sept. 2006, 16:06

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.

par charabia » 25 sept. 2006, 14:52

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.

mes test ne marche pas!

par arno77 » 25 sept. 2006, 14:46

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