Se connecter avec
S'enregistrer | Connectez-vous

problème script mail php

Dernière réponse : dans Programmation

Bonjour après avoir essayé des script existant sur le net j'essaye de revenir à qqc de simple et qui marche surtout
J'ai donc fait ce script mais se pose 3 problèmes.
Le premier est que j'arrive qu'à demander tous les champs sur la même ligne plus bas le mail de réponse. Le second etant que je ne sais pas définir une redirection vers une page merci.php en cas de réussite et vers une page erreur.php en cas d'erreur. Enfin je ne sais pas comment definir reply to et from de façon à ce que le script cherche le mail donné par la personne dans le formulaire le champ se nommant 'email'.
Quelqu'un peut-il m'aider?
Merci bcp.

  1. <?php
  2. $to = 'quest@xxx.com'; /* A qui s'adresse ce mail (TO) */
  3. $subject = 'Pre-diagnostic'; /* Objet du mail */
  4. $msg = "Entreprise:";
  5. $msg .= $_POST['nom_entreprise'];
  6. $msg .= "Contact:";
  7. $msg .= $_POST['contact'];
  8. $headers = 'From: quest@xxx.com' . "\r\n" .
  9. 'Reply-To: webmaster@example.com' . "\r\n" .
  10. 'X-Mailer: PHP/' . phpversion();
  11.  
  12. mail($to, $subject, $msg, $headers);
  13. ?>


le maill arrive comme ça
-----Message d'origine-----
De : quest@xxx.com [mailto:quest@xxx.com]
Envoyé : vendredi 9 novembre 2007 12:44
À : quest@xxx.com
Objet : Pre-diagnostic



Nom:entreprisetestContact:adrien

Autres pages sur : probleme script mail php

Lassé par la pub ? Créez un compte

KangOl a dit :
1/ tu as penser à mettre des retour à la ligne dans ton "msg" ?
2/ regardes du coté de la fonction header
3/ ces infos sont dans les headers du mail

Merci Kangol effectivement malgré le fait que ce soit bien programmé dans le header il fallait l'incorporer directement dans le script ce qui donne
  1. <?php
  2. $to = 'quest@xxx.com'; /* A qui s'adresse ce mail (TO) */
  3. $subject = 'Pre-diagnostic'; /* Objet du mail */
  4. $msg = "Entreprise:";
  5. $msg .= $_POST['nom_entreprise'];
  6. $msg .= "\n";
  7. $msg .= "Contact:";
  8. $msg .= $_POST['contact'];
  9. $headers = 'From: quest@xxx.com' . "\r\n" .
  10. 'Reply-To: webmaster@example.com' . "\r\n" .
  11. 'X-Mailer: PHP/' . phpversion();
  12.  
  13. mail($to, $subject, $msg, $headers);
  14. ?>

En revanche pour la redirection vers une page merci.php ou erreur.php quelqu'un a une idée?
Merci

webnewbie a dit :
Merci Kangol effectivement malgré le fait que ce soit bien programmé dans le header il fallait l'incorporer directement dans le script ce qui donne
  1. <?php
  2. $to = 'quest@xxx.com'; /* A qui s'adresse ce mail (TO) */
  3. $subject = 'Pre-diagnostic'; /* Objet du mail */
  4. $msg = "Entreprise:";
  5. $msg .= $_POST['nom_entreprise'];
  6. $msg .= "\n";
  7. $msg .= "Contact:";
  8. $msg .= $_POST['contact'];
  9. $headers = 'From: quest@xxx.com' . "\r\n" .
  10. 'Reply-To: webmaster@example.com' . "\r\n" .
  11. 'X-Mailer: PHP/' . phpversion();
  12.  
  13. mail($to, $subject, $msg, $headers);
  14. ?>

En revanche pour la redirection vers une page merci.php ou erreur.php quelqu'un a une idée?
Merci


kangol t'a dit de voir du coté de la fonction header :) 
Par contre, pour utiliser cette fonction, il ne faut rien envoyer à l'affichage avant de l'appeler sinon cela ne amrchera pas ( la doc risque d'être plus clair que mon explication :D  )

Effectivement je n'avais pas saisi parcequ'on peut mettre ce que l'on veut dans header. Je passe à l'étape suivante Quelqu'un peut-il me dire comment rendre des champs obligatoires? Et à ce moment là dans quelle page je devrais mettre le code? En effet, j'ai une page avec le formulaire et la seconde dont le code est ci-dessous envois le mail.
Merci

Le code corrigé pour que quelqu'un puisse l'utiliser.

  1. <?php
  2. header('Location: merci-entreprises.php'); /* Redirection vers une autre page une fois l'envoie effectué */
  3. $to = 'quest@xxx.com'; /* A qui s'adresse ce mail (TO) */
  4. $subject = 'Pre-diagnostic'; /* Objet du mail */
  5. $msg = "Entreprise:";
  6. $msg .= $_POST['nom_entreprise'];
  7. $msg .= "\n";
  8. $msg .= "Contact:";
  9. $msg .= $_POST['contact'];
  10. $headers = 'From: quest@xxx.com' . "\r\n" .
  11. 'Reply-To: webmaster@example.com' . "\r\n" .
  12. 'X-Mailer: PHP/' . phpversion();
  13.  
  14. mail($to, $subject, $msg, $headers);
  15. ?>

webnewbie a dit :
Effectivement je n'avais pas saisi parcequ'on peut mettre ce que l'on veut dans header. Je passe à l'étape suivante Quelqu'un peut-il me dire comment rendre des champs obligatoires? Et à ce moment là dans quelle page je devrais mettre le code? En effet, j'ai une page avec le formulaire et la seconde dont le code est ci-dessous envois le mail.
Merci

Le code corrigé pour que quelqu'un puisse l'utiliser.

  1. <?php
  2. header('Location: merci-entreprises.php'); /* Redirection vers une autre page une fois l'envoie effectué */
  3. $to = 'quest@xxx.com'; /* A qui s'adresse ce mail (TO) */
  4. $subject = 'Pre-diagnostic'; /* Objet du mail */
  5. $msg = "Entreprise:";
  6. $msg .= $_POST['nom_entreprise'];
  7. $msg .= "\n";
  8. $msg .= "Contact:";
  9. $msg .= $_POST['contact'];
  10. $headers = 'From: quest@xxx.com' . "\r\n" .
  11. 'Reply-To: webmaster@example.com' . "\r\n" .
  12. 'X-Mailer: PHP/' . phpversion();
  13.  
  14. mail($to, $subject, $msg, $headers);
  15. ?>

Lassé par la pub ? Créez un compte