Oui oui, j'ai un problème... [PHP : Fonction mail à problème ?] - PHP - Programmation
Marsh Posté le 07-04-2004 à 16:12:05
Utiliser un header() n'est pas suffisant pour arrêter l'exécution du script en cas d'erreur?
Marsh Posté le 07-04-2004 à 17:27:13
Freekill a écrit : Utiliser un header() n'est pas suffisant pour arrêter l'exécution du script en cas d'erreur? |
C'est un script inclus dans la page html...
Alors comment faire ?
Comment arrêter l'envoi des mails ?
Je vais quand meme pas faire un goto !!! (c'est maaaaaal)...
Marsh Posté le 07-04-2004 à 17:47:18
ReplyMarsh Posté le 07-04-2004 à 17:55:16
La question que je me pose c'est :
Dans un fichier html contenant plusieurs balises <? ?>, si je place exit() (ou die(), ce qui est pareil), le but va-t-il être la sortie de la balise en cours ?
genre :
Code :
|
Quel sera l'effet du exit() ?
(J'arrive pas à trouver ca de manière explicite dans les manuels).
exit() va t il tout de même permettre l'execution du code html (ca, ca parait logique) et le reste du code php (balises echo $var1) ?
Merci.
Marsh Posté le 07-04-2004 à 18:01:20
Ce n'est pas bien dur à tester?
Code :
|
Ce qui est avant s'affiche, ce qui est après non.
Quand le serveur tombe sur un die(), il arrête tout, c'est logique? ( pour plus de sécurité tu peux aussi remplacer le contenu html par des echo() )
Marsh Posté le 07-04-2004 à 18:06:21
Donc si je fais
Code :
|
Il va revenir à la page indiquée par le header, mais n'executera pas l'html qu'il y a après ?
Marsh Posté le 07-04-2004 à 18:09:26
Exact, mais je trouve que ça serait quand même plus propre de mettre ton code html dans un else{} avec echo.
Marsh Posté le 07-04-2004 à 18:12:06
Freekill a écrit : Exact, mais je trouve que ça serait quand même plus propre de mettre ton code html dans un else{} avec echo. |
C'est sur, mais je t'avoue que j'ai une flemme immense de mettre tout ça en echo .
Je vais tester cette fonction tout à l'heure (besoin de recharges de tabac )
Merci en tout cas de m'avoir aidé.
Marsh Posté le 07-04-2004 à 15:38:48
Tout d'abord bonjour... Pfiou, ca faisait longtemps que j'étais pas venu ici (normal, je faisais plus de prog...). Mais maintenant, je fais de nouveau de la prog, et là j'ai un problème (et le gérant de ma société qui me met des coups de pieds au... enfin, on m'a compris).
Bref, après avoir arpenté les manuels et faq php, fait consulté mon code par un pote, je ne trouve pas la solution. Je ne suis pas un champion, donc il se peut qu'une erreur pourrie se soit glissée dans mon code...
J'explique la situation.
Tout se passe sur le site "xxx" (adresse cachée parce que pb résolu) dans la page "Nous contacter". Si certains veulent tester, indiquez le dans "requete" (c'est pas de la pub hein, c'est un vrai problème...).
Cette page contient un formulaire et du code php (avec une base de données mysql derrière, bien évidemment).
Certains champs sont rendus obligatoires, pour des raisons commerciales, grâce à :
En théorie, lorsque le formulaire est envoyé, le serveur examine les champs obligatoires, s'il en trouve un vide, il retourne à la même page et fait passer en paramètre les données précédemment saisies (méthode détournée parce que le javascript history.go(-1) ne marchait pas, je ne sais pas pourquoi).
Le seul problème est qu'il y a dans le code la fonction mail().
Cette fonction mail ne devrait fonctionner que si tous les champs sont correctement remplis (aucun oubli). Mais, comble du comble, le mail est envoyé meme s'il manque un champ (sauf le champ email evidemment...).
J'ai essayé toutes sortes de vérifications. Si je met la fonction mail() dans un if{} avec les conditions qu'il faut pour que ca ne marche pas, ben ca marche quand meme... Alors à moins que mon serveur ne soit possédé par le démon, je l'explique pas...
Note : hébergement OVH.
Voici le code (avec certaines parties masquées, mais c'est normal hein) :
Message édité par backdafuckup le 12-04-2004 à 18:26:28