Condition if et exit ?

Invité
Invité n'ayant pas de compte PHPfrance

03 avr. 2007, 09:50

Bonjour,

ce code est t'il correct etant donné que exit() garanti la non execution de la suite ? :
if ($droit==0) {  
   header('Location: mapage.php');
exit(); 
} else {
mysql_query("UPDATE membres SET pv=1 WHERE id='$id'") or die ('Probleme 25 : '.mysql_error()); 
}
Merci ;-)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 avr. 2007, 09:59

vi :)

Bon ceci dit, tu peux l'indenter un peu mieux, sortir les variables php des chaines, et éviter en sql de mettre des apostrophes autour des nombres (si id est bien comme je le suppose un nombre)
if ($droit==0) {   
   header('Location: mapage.php'); 
   exit();  
} else { 
   mysql_query("UPDATE membres SET pv=1 WHERE id=".$id) or die ('Probleme 25 : '.mysql_error());  
}
Sinon rien à redire :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

03 avr. 2007, 10:19

Ok merci mais y'a une petite chose que je n'arrive pas a saisir, c'est le else.. suis-je obliger de le mettre étant donné que si la variable $droit est a 0,une redirection est automatique et l'exit() se déclenche pour garantir la non éxécution de la suite....?

C'est à dire, est ce que je peut faire juste ca :
if ($droit==0) {    
   header('Location: mapage.php');  
   exit();   
}    mysql_query("UPDATE membres SET pv=1 WHERE id=".$id) or die ('Probleme 25 : '.mysql_error());
?> 
? merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 avr. 2007, 10:38

En effet, dans ce cas le else n'est pas obligatoire puisque si la condition est vraie, le reste du code ne sera pas exécuté. Il ne sera traité que si la condition est fausse, donc même résultat qu'avec un else :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 259 Messages

03 avr. 2007, 10:41

hello,

dans ce cas là tu peux tout à fait te passer de else en effet...

si j'avais pas peur de me faire taper sur les doigts je te dirais même qu'il est plus "propre" et logique de ne pas en mettre ;)