Page 1 sur 1

"Fonction" exit()

Posté : 02 févr. 2006, 14:08
par Mouki
C'est encore moi :)

Donc là j'suis en train d'évaluer un prog... et là, qu'est ce que je vois pas :
if ( $toto ){
        echo "Vous n'etes pas autorisé a visualiser cette page<br>";
        exit();
}
Question 1 : pourquoi ne pas marquer :
exit("Vous n'etes pas autorisé a visualiser cette page.");
Cependant, dans l'aide de la "fonction" exit(), on voit :
void exit ( [string status] )
void exit ( int status )
Note : PHP >= 4.2.0 n'affiche pas le message status si ce n'est pas un entier
Question 2 : je comprends pas la note :oops:

Encore merci d'avance...

Posté : 02 févr. 2006, 14:45
par DarkBlue
La fonction exit() permet de stopper net le script des son appel , ce qui peut etre benefique si elle est bien utilisé !

Si elle est place sur une page dynamique , en debut de script tu risque de voir ton site ne s'afficxher qu' a moitié (car l affichage du footage ne sera pas evalué)

pour la note jene peux pas t aider :oops:

Posté : 02 févr. 2006, 14:57
par zeus
Pour la note, si tu dispose d'une version PHP supérieure ou égale à 4.2.0; exit n'affiche pas le paramètre si celui est autre chose qu'un entier.
Ce qui explique le echo puis le exit plutôt que tout dans le exit ;)

Posté : 02 févr. 2006, 18:53
par Invité
Bah justement, je ne suis pas d'accord avec la note...

J'utilise Wamp 5 (http://www.wampserver.com/) avec PHP 5.1.2, et justement, je viens de faire un test :
bonjour.
<?php
	echo" Arno...";
	exit("coucou");
?>
Et j'obtiens à l'écran :
bonjour. Arno...coucou
Alors ?!? :oops:

Posté : 02 févr. 2006, 22:39
par Truc
dans tous les cas perso je suis contre un exit() dans un code.

Au lieu de vouloir fuire par la porte de derrière vaut mieux s'arranger pour passer par la grande porte.

En clair éviter les exit() pour cacher des erreurs et préférer un code bien fait où toutes les éventualités sont réfléchies.

Ceci dis, ça ne change rien au faite que ça affiche tout de même la chaine de caractères.

Posté : 03 févr. 2006, 10:02
par Mouki
Imaginons qu'une feuille PHP attende un $_POST["ID"], c'est pas forcément une mauvaise idée de faire :
if ( ! isset($_POST["ID"])){
    exit("Vous n'êtes pas autorisé à visualiser cette page");
}
Q1 : C'est pas très bien codé ?!?

ça affiche tout de même la chaine de caractères
Q2 : ce n'est pourtant pas ce que dis la note ?!?


Q3 : sachant que le prog a été codé :
if ( $toto ){
    echo "Vous n'etes pas autorisé a visualiser cette page<br>";
    exit();
}
dans mon rapport d'audit, je dis que c'est bien fait ou pas ?!? :?

Merci...

Posté : 03 févr. 2006, 10:23
par mario
Imaginons qu'une feuille PHP attende un $_POST["ID"], c'est pas forcément une mauvaise idée de faire :
if ( ! isset($_POST["ID"])){
    exit("Vous n'êtes pas autorisé à visualiser cette page");
}
Q1 : C'est pas très bien codé ?!?
Voilà comment je procède personnellement. Après tout, c'est une question de goût mais dans ton cas, les balises HTML en fin de page ne seront jamais lu

<html>
<head></head>
<body>
<?php
if ( isset($_POST['id']) ){
/*
      TRAITEMENT DE LA DEMANDE
*/
}
else
{
   echo "Vous n'êtes pas autorisé à visualiser cette page";
}
?>
</body>
</html>

Posté : 03 févr. 2006, 11:44
par Mouki
Merci Mario :D

Et pour les questions Q2 et Q3 ?!? Un amateur ?!? :)