[PHP] header() après envoi de mail
Résolu/Fermé
Aidez-moi
-
16 nov. 2009 à 00:00
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 - 16 nov. 2009 à 00:51
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 - 16 nov. 2009 à 00:51
Bonjour, je code un script de contact mais j'ai un gros problème pour évité le spam en réactualisant la page après l'envoi du mail j'utilise header(), mais comme je le mais pas en début sa fait une erreur.
J'aimerai savoir comment faire une redirection toujours en PHP pour remplacé header().
J'aimerai savoir comment faire une redirection toujours en PHP pour remplacé header().
A voir également:
- [PHP] header() après envoi de mail
- Publipostage mail - Accueil - Word
- Programmer envoi mail gmail - Guide
- Envoi mail cci - Guide
- Windows live mail - Télécharger - Mail
- Annuler envoi mail gmail - Guide
11 réponses
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
16 nov. 2009 à 00:38
16 nov. 2009 à 00:38
Sans faire l'echo
<?php /* Vérification */ $nbErreur = 0; $erreurs = '<ul>'."\n"; if(empty($_POST['nom']) { $nbErreur++; $erreurs .= '<li>Le champ "nom" est vide</li>'."\n"; } if(empty($_POST['prenom']) { $nbErreur++; $erreurs .= '<li>Le champ "prénom" est vide</li>'."\n"; } $erreurs .= '</ul>'; if($nbErreur == 0) if(mail($my_mail, $mail_subject, $_POST['text'], 'From: '.$_POST['prenom'].'<'.$_POST['email'].'>')) { header('Location: http://www.google.fr/); die(); } else { $erreurMail = 'Une erreur s\'est produite lors de l\'envoye du mail'; } ?> Code HTML du kit graphique du haut. <?php if($nbErreur == 0) if(empty($erreurMail)) { echo 'Mail envoyé'; } else { echo $erreurMail; } else { echo 'Il y a '.$nbErreur.' erreur(s) :<br/>'."\n".$erreurs; } ?> Code HTML du kit graphique du bas.
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
16 nov. 2009 à 00:14
16 nov. 2009 à 00:14
La fonction header, tout comme session_start, peut être appelée tant qu'aucun caractères n'a été envoyé, espace compris, via un echo/print/printf ou via l'extérieur des balises PHP.
Je ne vois pas où est le problème car normalement :
- Si le message est envoyé, tu fais une redirection : pas besoin d'afficher quoi que se soit
- Si il y a une erreur, alors tu affiches la page : pas de redirection.
Je ne vois pas où est le problème car normalement :
- Si le message est envoyé, tu fais une redirection : pas besoin d'afficher quoi que se soit
- Si il y a une erreur, alors tu affiches la page : pas de redirection.
Voila le code en gros :
Donc je suis obligé d'utiliser sa :s
Que faire ?
Code HTML du kit graphique du haut. <?php // Vérification. // .... // Envoi du mail. if(mail($my_mail, $mail_subject, $_POST['text'], 'From: '.$_POST['prenom'].'<'.$_POST['email'].'>')) header('Location: http://www.google.fr/); ?> Code HTML du kit graphique du bas.
Donc je suis obligé d'utiliser sa :s
Que faire ?
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
16 nov. 2009 à 00:18
16 nov. 2009 à 00:18
Tu peux aussi faire comme ça :
<?php // Vérification. // .... // Envoi du mail. if(mail($my_mail, $mail_subject, $_POST['text'], 'From: '.$_POST['prenom'].'<'.$_POST['email'].'>')) { header('Location: http://www.google.fr/); die(); } ?> Code HTML du kit graphique du haut. Code HTML du kit graphique du bas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non car dans les vérifications, si ya une erreur sa affiche un message d'erreur et donc il faut que ce sois dans le kit graphique :S
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
16 nov. 2009 à 00:26
16 nov. 2009 à 00:26
Euh... tu peux stocker les erreurs dans des variables puis les afficher par après ...
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
16 nov. 2009 à 00:45
16 nov. 2009 à 00:45
D'abord penses à cocher le cercle "Résolu" en haut.
Je l'ai fais, au cas où tu ne reviendrais pas
Je l'ai fais, au cas où tu ne reviendrais pas
Je l'aurait fait, merci :)
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
16 nov. 2009 à 00:51
16 nov. 2009 à 00:51
Ouais mais avec les anonymes on est jamais trop sûr