Envoyer formulaire par Mail

val-76
Invité n'ayant pas de compte PHPfrance

18 févr. 2014, 16:35

Hello tout le monde !

Je débute en PHP, d'où mon message sur ce forum, j'ai cherché partout sur le net (peut-être mal), mais j'ai créé un formulaire HTML pour permettre aux visiteurs de mon site de le remplir pour qu'ensuite je récupère ce qui a été saisi sur ma boite mail.

Voici mon code :

inscription.html :

<form method="post" action="traitement.php">
		
		<h3>Informations Personnelles</h3><br />
		
<label>Nom : <input type="text" name="nom"/></label><br/><br/>
<label>Prénom : <input type="text" name="prenom"/></label><br/><br/>
<label>Âge : <input type="text" name="age"/></label><br/><br/><br/>

<label>E-Mail :<input type="email" name="email"/></label><br/><br/>
<label>Tel : <input type="tel" name="telephone"/></label><br/><br/>
<label>Facebook : <input type="url" name="facebook"/></label><br/><br/><br/>

<h3>Informations Complémentaires</h3><br />




<label>Equipe Choisie : <input type="text" name="equipe"/></label>
<br /><br />

Date Du Tournoi :<select name="choix">
<option value="choix1">XXX</option>
<option value="choix2">XXX</option>

</select>

<br /><br /><br />

<input type="submit" value="S'inscrire"/> <input type="reset" value="Annuler" />
</form>


Traitement.php :
<?php
error_reporting(E_ALL); 
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement 
remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','[email protected]'); // remplacer par votre email
define('MAIL_SUJET','Message du formulaire de example.com');
 
// vérification des champs
if (empty($_POST['nom'])) 
$message .= "Nom : <br/>";
if (empty($_POST['prenom'])) 
$message .= "Prénom :<br/>";
if (empty($_POST['age'])) 
$message .= "Age :<br/>";
if (empty($_POST['email'])) 
$message .= "E-Mail :<br/>";
if (empty($_POST['telephone'])) 
$message .= "Tel : <br/>";
if (empty($_POST['facebook'])) 
$message .= "Facebook :<br/>";
 
if (empty($_POST['equipe'])) 
$message .= "Equipe Choisie : <br/>";
if (empty($_POST['choix'])) 
$message .= "Date du tournoi : <br/>";

 
// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur)) {
   echo $message; die();
}
 
// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
  $$index = stripslashes(trim($valeur));
}
 
$interets = $_POST['prenom'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
  $sqlinterets .= $interets[$i];
  $sqlinterets .= ', ';
}
 
//Préparation de l'entête du mail:
$mail_entete  = "MIME-Version: 1.0\r\n";
$mail_entete .= "<[email protected]>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
 
// préparation du corps du mail
$mail_corps  = "Message de : $nom $prenom\n";
$mail_corps .= "Formulaire d'inscription 1 vs 1 : $nom, $prenom, $age, $email, $telephone, $facebook, $equipe, $choix \n";

 
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
  //Le mail est bien expédié
  echo $msg_ok;
} else {
  //Le mail n'a pas été expédié
  echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
 
?>



Je pense que l'erreur vient de ces lignes de code mais je ne sais pas ce qui coince :

 
$interets = $_POST['prenom'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
  $sqlinterets .= $interets[$i];
  $sqlinterets .= ', ';
}
 
Pouvez-vous m'aider svp ?

Merci par avance !
Modifié en dernier par moogli le 18 févr. 2014, 23:24, modifié 1 fois.
Raison : correction titre

ViPHP
ViPHP | 2577 Messages

18 févr. 2014, 20:59

Bonjour,

Tu n'indiques pas ce qui se passe et ce qui pose problème. Difficile de t'aider.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 févr. 2014, 23:25

Modération :
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. ;)

Merci de prendre le temps de lire les règlements.
Il en faut peu pour être heureux ......