Aller au contenu

encore le header


jdw

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

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é par jdw
Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

ce que j'ai fait, voici le nouveau code

<?php

$urlp = &quot;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

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...