Probleme e-Mail forulaire php

Petit nouveau ! | 6 Messages

07 août 2008, 18:14

Salut à tous, je suis débutant en PHP.
Dabord je voudrais savoir quelle scprit faut il pour envoyer un formulaire sans pas par Outlook ?
Et ensuite faut-il mettre le code PHP avec la page HTML de mon formulaire où mettre le code dans une page en PHP ?

En espèrent avoir été clair.
Merci d'avance.
Modifié en dernier par buntafuji le 09 août 2008, 13:00, modifié 1 fois.

Mammouth du PHP | 804 Messages

07 août 2008, 18:50

bonjour

pour le formulaire PHP ou HTML au choix =>qui va a page traitement en PHP obligatoire pou r utiliser la fonction mail()

8-)

Petit nouveau ! | 6 Messages

07 août 2008, 19:06

Ok
Donc le code mail() doit être dans une page séparé de celle du formulaire donc ?

Tu pourrai me donné un script comme il faut stp ?

ViPHP
ViPHP | 2291 Messages

07 août 2008, 19:11

Ok
Donc le code mail() doit être dans une page séparé de celle du formulaire donc ?

Tu pourrai me donné un script comme il faut stp ?
Un petit truc :
Imagine un modérateur qui passerait par ici à tout les coup il te dirais que le site ne donne pas de script tout fait.
Par contre il est possible d'avoir des liens à défaut de les chercher soi-même :wink:

Petit nouveau ! | 6 Messages

07 août 2008, 19:54

Excuser moi je ne savais pas...

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Petit nouveau ! | 6 Messages

08 août 2008, 19:30

Re salut, voila avec ce script je reçoit un eMail mais vide, que faut-il corrigé ?

Merci d'avance
<?php

$email_dest = "[email protected]";

if ($_POST['envoi']) {

$message_remerciement = "Merci, nous vous répondrons le plus rapidement possible";

// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: [email protected] \n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "Sujet de votre formulaire";

$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['Nom'.$a] . "</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "</body></html>";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail...

} // Closing if edit
?><html>
<head>
<title>Assistant d'envoi de formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if (mail_form.zone_email.value == "") {
alert("Vous n\'avez pas inscrit d\'add mail ...")
return false
}

invalidChars = " /:,;'"

for (i=0; i<invalidChars.length; i++) {    // does it contain any invalid characters?
badChar = invalidChars.charAt(i)

if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
mail_form.zone_email.focus()
return false
}
}

atPos = mail_form.zone_email.value.indexOf("@",1)            // there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}

if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) {    // and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}

periodPos = mail_form.zone_email.value.indexOf(".",atPos)

if (periodPos == -1) {                    // and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}

if (periodPos+3 > mail_form.zone_email.value.length)    {        // must be at least 2 characters after the
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
mail_form.zone_email.focus()
return false
}} // Fin de la fonction

</script>
</head>

<body>
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
  <div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
<form id="form1" name="form1" method="post" action="">
   Nom : 
   <label>
   <input type="text" name="Nom" id="Nom" />
   </label>
   <p>P&eacute;nom : 
     <label>
     <input type="text" name="Prénom" id="Prénom" />
     </label>
  </p>
   <p>Marque du v&eacute;hicule : 
     <label>
     <input type="text" name="Marque du véhicule" id="Marque du véhicule" />
     </label>
   </p>
   <p>Mod&egrave;le : 
     <label>
     <input type="text" name="Modèle" id="Modèle" />
     </label>
   </p>
   <p>Energie : 
     <label>
     <select name="select" id="select">
       <option selected="selected">Diesel</option>
       <option>Essence</option>
       <option>Hybride</option>
       <option>Electrique</option>
       <option>GPL</option>
     </select>
     </label>
   </p>
   <p>Posibillt&eacute; de rendez-vous : </p>
   <p>1. Le   
     <label>
     <select name="select2" id="select2">
       <option>01</option>
       <option>02</option>
       <option>03</option>
       <option>04</option>
       <option>05</option>
       <option>06</option>
       <option>07</option>
       <option>08</option>
       <option>09</option>
       <option>10</option>
       <option>11</option>
       <option>12</option>
       <option>13</option>
       <option>14</option>
       <option>15</option>
       <option>16</option>
       <option>17</option>
       <option>18</option>
       <option>19</option>
       <option>20</option>
       <option>21</option>
       <option>22</option>
       <option>23</option>
       <option>24</option>
       <option>25</option>
       <option>26</option>
       <option>27</option>
       <option>28</option>
       <option>29</option>
       <option>30</option>
       <option>31</option>
     </select>
     </label>
     /
     <label>
     <select name="select3" id="select3">
       <option>Janvier</option>
       <option>F&eacute;vrier</option>
       <option>Mars</option>
       <option>Avril</option>
       <option>Mai</option>
       <option>Juin</option>
       <option>Juillet</option>
       <option>Ao&ucirc;t</option>
       <option>Septembre</option>
       <option>Octobre</option>
       <option>Novembre</option>
       <option>D&eacute;cembre</option>
     </select>
     </label>
   /
   <label>
   <select name="select4" id="select4">
     <option>2008</option>
     <option>2009</option>
   </select>
   </label>
   A  
   <label>
   <select name="select5" id="select5">
     <option>08</option>
     <option>09</option>
     <option>10</option>
     <option>11</option>
     <option>12</option>
     <option>13</option>
     <option>14</option>
     <option>15</option>
     <option>16</option>
     <option>17</option>
      </select>
   </label>
   H
   <label>
   <select name="select6" id="select6">
     <option>00</option>
     <option>30</option>
      </select>
   </label>
   </p>
   <p>2.  Le   
     <label>
     <select name="select7" id="select7">
       <option>01</option>
       <option>02</option>
       <option>03</option>
       <option>04</option>
       <option>05</option>
       <option>06</option>
       <option>07</option>
       <option>08</option>
       <option>09</option>
       <option>10</option>
       <option>11</option>
       <option>12</option>
       <option>13</option>
       <option>14</option>
       <option>15</option>
       <option>16</option>
       <option>17</option>
       <option>18</option>
       <option>19</option>
       <option>20</option>
       <option>21</option>
       <option>22</option>
       <option>23</option>
       <option>24</option>
       <option>25</option>
       <option>26</option>
       <option>27</option>
       <option>28</option>
       <option>29</option>
       <option>30</option>
       <option>31</option>
     </select>
     </label>
/
<label>
<select name="select9" id="select8">
  <option>Janvier</option>
  <option>F&eacute;vrier</option>
  <option>Mars</option>
  <option>Avril</option>
  <option>Mai</option>
  <option>Juin</option>
  <option>Juillet</option>
  <option>Ao&ucirc;t</option>
  <option>Septembre</option>
  <option>Octobre</option>
  <option>Novembre</option>
  <option>D&eacute;cembre</option>
</select>
</label>
/
<label>
<select name="select7" id="select9">
  <option>2008</option>
  <option>2009</option>
</select>
</label> 
A 
<label>
<select name="select7" id="select10">
  <option>08</option>
  <option>09</option>
  <option>10</option>
  <option>11</option>
  <option>12</option>
  <option>13</option>
  <option>14</option>
  <option>15</option>
  <option>16</option>
  <option>17</option>
</select>
</label>
H
<label>
<select name="select7" id="select11">
  <option>00</option>
  <option>30</option>
</select>
</label>
   </p>
  <p>3.  Le   
     <label>
     <select name="select8" id="select12">
       <option>01</option>
       <option>02</option>
       <option>03</option>
       <option>04</option>
       <option>05</option>
       <option>06</option>
       <option>07</option>
       <option>08</option>
       <option>09</option>
       <option>10</option>
       <option>11</option>
       <option>12</option>
       <option>13</option>
       <option>14</option>
       <option>15</option>
       <option>16</option>
       <option>17</option>
       <option>18</option>
       <option>19</option>
       <option>20</option>
       <option>21</option>
       <option>22</option>
       <option>23</option>
       <option>24</option>
       <option>25</option>
       <option>26</option>
       <option>27</option>
       <option>28</option>
       <option>29</option>
       <option>30</option>
       <option>31</option>
     </select>
     </label>
/
<label>
<select name="select10" id="select13">
  <option>Janvier</option>
  <option>F&eacute;vrier</option>
  <option>Mars</option>
  <option>Avril</option>
  <option>Mai</option>
  <option>Juin</option>
  <option>Juillet</option>
  <option>Ao&ucirc;t</option>
  <option>Septembre</option>
  <option>Octobre</option>
  <option>Novembre</option>
  <option>D&eacute;cembre</option>
</select>
</label>
/
<label>
<select name="select8" id="select14">
  <option>2008</option>
  <option>2009</option>
</select>
</label>
A 
<label>
<select name="select8" id="select15">
  <option>08</option>
  <option>09</option>
  <option>10</option>
  <option>11</option>
  <option>12</option>
  <option>13</option>
  <option>14</option>
  <option>15</option>
  <option>16</option>
  <option>17</option>
</select>
</label>
H
<label>
<select name="select8" id="select16">
  <option>00</option>
  <option>30</option>
</select>
</label>
   </p>
  <p>&nbsp;</p>
   <p>Email 
     <label>
     <input name="textfield" type="text" id="textfield" />
     </label>
   </p>
  <p>&nbsp;</p>
   <p>
     <label></label>
   </p>
   <p align="center">
 <input type="reset" name="Reset" value="Effacer">         
<input type="submit" name="envoi" value="Envoyer">
     <label></label>
   </p>
   <p align="center">&nbsp;</p>
   <p>&nbsp;</p>
   <p>&nbsp; </p>
   <label></label>
</form>
</body>
</html>
[/php]
Modifié en dernier par buntafuji le 12 août 2008, 10:59, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 août 2008, 09:47

Modération :
buntafuji, merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP !", "Aidez-moi", "J'ai un problème", "Ça marche pas",...
n'apportent rien à la compréhension de ta demande.

Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 804 Messages

09 août 2008, 11:42

$headers .= "From:<[email protected]>\n";

Petit nouveau ! | 6 Messages

09 août 2008, 13:02

$headers .= "From:<[email protected]>\n";
Que veut tu dire par la?
Je pense pas que ça vienne des adresse e-Mail.
Cars j'ai juste adapté le script en y maitant mon formulaire mais je recoi un e-Mail vide

Mammouth du PHP | 804 Messages

10 août 2008, 13:25

pourquoi tu ne mets pas les < >
$headers .= "From:<$webmaster>\n";
$headers .= "X-Sender: <$destinataire>\n"; 
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 1\n"; // priorité du mail 1,2 ou 3
$headers .= "Return-Path: <$destinataire> \n"; // Chemin de retour pour les erreurs
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
Philippe

Petit nouveau ! | 6 Messages

12 août 2008, 11:10

Je reçoit toujours un e-mail vide.

Mammouth du PHP | 804 Messages

12 août 2008, 16:50

montre nous ton code en entier on pourra mieux t'aider


autant pour moi , j'ai pas regardé plus haut

Mammouth du PHP | 804 Messages

12 août 2008, 17:57

pour commencer j ete recommande de bien nomer tes champs formulaires ensuite j'aurai déclarer la première ligne de partie_champs_texte
$partie_champs_texte = "";
Mon deuxième conseil serait de tester ton scripts sans conditions javascripts ni condition variable existante Isset .

ensuite une fois que tu recois tout correctement tu insert tes conditions

nbre_champs_texte c'est quoi ?, je ne la vois pas dans le formulaire?