jdw Posté 17 Août 2007 Posté 17 Août 2007 Bonjour, je cherche depuis quelques heures a résoudre un petit problème, en vain...... (Avant cela marchait), suite à l'envoie de mail à partir d'un formulaire, je renvoyais (header) vers une page de réponse positive ou négative si cela avait fonctionné ou non. Depuis peu, je travaille avec Expression Web et (je ne sais pas si c'est du à cela), je reçois une page blanche suite à l'envoie du formulaire (par dépis, j'ai remis un echo pour que cela soit plus sympa pour le visiteur). Voici mon code <?php$urlp = "http://www.pierreetsol/Pages/Info/reponse.htm";$nom=$HTTP_POST_VARS['nom']; $mail=$HTTP_POST_VARS['email']; $objet=$HTTP_POST_VARS['produit']; $message .= "Nom : {$_POST['nom']} Prénom : {$_POST['prenom']}\nRue : {$_POST['rue']}\n"; $message .= "Code postale : {$_POST['cp']} Ville : {$_POST['ville']}\nPays : {$_POST['pays']}\n"; $message .= "Téléphone :{$_POST['tel']} Fax : {$_POST['fax']}\nemail : {$_POST['email']}\n"; $message .= "Produit : {$_POST['produit']} Dimensions : {$_POST['dimension']}\n"; $message .= "Couleur : {$_POST['couleur']} Finition : {$_POST['finition']}\nUsage : {$_POST['usage']}\n"; $message .= "Quantité : {$_POST['quantite']}\nConditionnement : {$_POST['conditionnement']}\nDate de Livraison probable : {$_POST['date']}\n"; $message .= "Commentaires : {$_POST['commentaire']}\n"; /////voici la version Mine $headers = "MIME-Version: 1.0\r\n"; //////ici on détermine le mail en format text $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; ////ici on détermine l'expediteur et l'adresse de réponse $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; $MailHeader = "From: $mail"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").$subject="$objet"; $destinataire="com_AT_pierreetsol.com";$destinataire2="sec_AT_pierreetsol.com";$destinataire3="pierreetsol_AT_gmail.com";$destinataire4=$HTTP_POST_VARS['email'];$body="$message";mail($destinataire2, $subject, $body, $MailHeader); mail($destinataire3, $subject, $body, $MailHeader); mail($destinataire4, $subject, $body, $MailHeader);if (mail($destinataire2,$subject,$body,$Mailheader)) { echo "Votre demande a été envoyée, Merci"; header("Location:http://www.pierreetsol.com/Pages/Info/reponse.htm");////header("location: $urlp"); C'était un essai } else {echo "Une erreur s'est produite";}?> Voyez-vous l'erreur??? merci de vérifier à http://www.pierreetsol.com/Pages/Info/contact.htm si cela vous fait la même chose Merci A++ JDW
iNCiTE Web Posté 18 Août 2007 Posté 18 Août 2007 On ne peut plus voir l'erreur, tu as un mis un ECHO et donc le Header ne peut plus fonctionner (aucune sortie ne doit être effectuée avant un envoi d'entêtes)
jdw Posté 18 Août 2007 Auteur Posté 18 Août 2007 Bonjour, Merci pour le retour, j'ai vu aussi un test_AT_test.com, jen e sais pas si c'est vous. Je viens de mettre les //// devant echo et cela ne fonctionne toujours pas chez moi?????????????? Quid? je peux attendre un petit peu, mais je vais devoir enlever les //// pour que mes visiteurs est au moins une réponse A++ JDW
iNCiTE Web Posté 18 Août 2007 Posté 18 Août 2007 Oui c'est moi... Par contre pourquoi vouloir faire une redirection via header ? dans le script traitement.php tu peux choisir d'afficher du texte en fonction du résultat de l'envoi de mail non ? (il faudra que ta page reponse soit en .php dans ce cas)
jdw Posté 18 Août 2007 Auteur Posté 18 Août 2007 (modifié) Rebonjour, Pour comprendre : "dans le script traitement.php tu peux choisir d'afficher du texte en fonction du résultat de l'envoi de mail non ?" et oui, c'est pourquoi j'utilise un echo pour une réponse, mais j'aimerais de loin envoyer une page,.... est si je remplace la page reponse.htm par reponse. php cela ne marche toujours pas A++ Jess Modifié 18 Août 2007 par jdw
iNCiTE Web Posté 18 Août 2007 Posté 18 Août 2007 Comme le header ne fonctionne pas pour une raison que j'ignore (faudrait que je me plonge dans le code complet), je te proposais de faire tes traitements dans la page reponse.htm (à renommer reponse.php et en changeant le action du formulaire de contact), et le script qui est fait dans traitement.php tu le fais au debut de reponse.php, capito ? tu testes si c'est bien parti etc Et pourquoi tu veux *absolument* envoyer une page ?
jdw Posté 18 Août 2007 Auteur Posté 18 Août 2007 Bonjour, ce que j'ai fait, voici le nouveau code <?php $urlp = "http://www.pierreetsol/Pages/Info/reponse.htm"; $nom=$HTTP_POST_VARS['nom']; $mail=$HTTP_POST_VARS['email']; $objet=$HTTP_POST_VARS['produit']; $message .= "Nom : {$_POST['nom']} Prénom : {$_POST['prenom']}\nRue : {$_POST['rue']}\n"; $message .= "Code postale : {$_POST['cp']} Ville : {$_POST['ville']}\nPays : {$_POST['pays']}\n"; $message .= "Téléphone :{$_POST['tel']} Fax : {$_POST['fax']}\nemail : {$_POST['email']}\n"; $message .= "Produit : {$_POST['produit']} Dimensions : {$_POST['dimension']}\n"; $message .= "Couleur : {$_POST['couleur']} Finition : {$_POST['finition']}\nUsage : {$_POST['usage']}\n"; $message .= "Quantité : {$_POST['quantite']}\nConditionnement : {$_POST['conditionnement']}\nDate de Livraison probable : {$_POST['date']}\n"; $message .= "Commentaires : {$_POST['commentaire']}\n"; /////voici la version Mine $headers = "MIME-Version: 1.0\r\n"; //////ici on détermine le mail en format text $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; ////ici on détermine l'expediteur et l'adresse de réponse $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; $MailHeader = "From: $mail"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3"). $subject="$objet"; $destinataire="com_AT_pierreetsol.com"; $destinataire2="sec_AT_pierreetsol.com"; $destinataire3="pierreetsol_AT_gmail.com"; $destinataire4=$HTTP_POST_VARS['email']; $body="$message"; mail($destinataire2, $subject, $body, $MailHeader); mail($destinataire3, $subject, $body, $MailHeader); mail($destinataire4, $subject, $body, $MailHeader); if (mail($destinataire2,$subject,$body,$Mailheader)) { ////echo "Votre demande a été envoyée, Merci"; header("Location:http://www.pierreetsol.com/Pages/Info/reponse.php"); ////header("location: $urlp"); C'était un essai } else { echo "Une erreur s'est produite"; } ?> et j'ai renommé réponse en .php en vain..... toujours une page blanche Aussi, j'aimarais envoyer une page "réponse" "positive" pour leur assurer le professionalisme du site et que le visiteur continue à suivre les liens s'il le souhaite, sans devoir faire un "back" A++ JDW mais cela donne
iNCiTE Web Posté 18 Août 2007 Posté 18 Août 2007 Non tu ne comprends pas ce que je veux dire... -Ta page reponse.htm tu l'appelles reponse.php -Au début de reponse.php, tu ajoutes le code de traitement.php (en virant le header bien sûr) Donc cela te permet d'afficher un résultat OK ou pas, puis l'affichage normal ensuite...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant