Anonymus
vendredi 27 février 2004 à 15:53
Prenons ceci :
CITATION
if ($_POST['cat']){
//code pour cat
}
elseif ($_POST['site']){
//code pour site
}
elseif ($_POST['voir']){
//code pour voir
}
cela verifie d'abord cat. Donc, c'est pas bon.
Il te faut d'abord vérifier site, puis voir (ou l'inverse), et SEULEMENT ENSUITE, tu verifies cat.
Pour ton code, il est bon, sauf si la valeur de voir (par exemple, est FALSE. Autrement dit, quelqu'un qui rentre voir=false. Ca va interpreter la valeur comme fausse, et donc voir n'existera pas, alors qu'elle existe.
Autre exemple (pour changer), si site=0, alors site egal quelque chose. On est d'accord. Pourtant, ca sera interprété comme faux, puisque php interprete le 0 comme le booleen. Donc, pour résumer, il te faudrait écrire :
CITATION
if ($_POST['voir']){
//code pour voir
}
elseif ($_POST['site']){
//code pour site
}
else{
//code tous les AUTRES cas. Aussi bien cat qu'un autre.
}
Pour mieux faire, et pour prendre en compte les 2 remarques que j'ai faites plus haut, tu peux mettre :
CITATION
if (isset($_POST['voir'])){
//code pour voir
}
elseif (isset($_POST['site'])){
//code pour site
}
else{
//code tous les AUTRES cas. Aussi bien cat qu'un autre.
}
Qu'on soit bien d'accord :
- si voir existe, on execute le code de voir, et c'est tout.
sinon :
- si site existe, on execute le code de site, et c'est tout.
sinon :
- on execute le code standard.
C'est ca ! ?
on s'est compris ?