probleme d'envoi de mail

Eléphanteau du PHP | 30 Messages

30 août 2010, 11:09

bonjour à tous,

je suis en train de créer un envoil de mail en réponse à un formulaire :

Mon formulaire :
<form enctype="multipart/form-data" name="fcoord" method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">

<table width="500" border="0" cellspacing="2" cellpadding="2">
 <tr><td align=right>
   Genre :
 </td><td> 
 	<?php
 	echo "<select name=\"genre\">";
  	echo ligne_selected(" ","-1",$frm['genre']);
 	echo ligne_selected("Monsieur","Monsieur",$frm['genre']);
 	echo ligne_selected("Madame","Madame",$frm['genre']);
 	echo ligne_selected("Mademoiselle","Mademoiselle",$frm['genre']);
	echo "</select>";
 	?>
 </td></tr>
  <tr> 
  <td align=right>Sexe : </td>
	<TD>
	18/30 ans : <INPUT type=radio name="age" value="18/30 ans">
	 30 et + : <INPUT type=radio name="age" value="30 et +">
      * <?php if (isset($erreurs['age'])) echo $message_erreur['age'] ?>
	</td>
</tr>
<tr>
    <td align=right>Nom : </td>
    <td><input name="nom" type="text" value="<?php if (isset($frm['nom'])) echo stripslashes($frm['nom']); ?>"></td>
  </tr>
  <tr> 
    <td align=right>Prenom : </td>
    <td><input name="prenom" type="text" value="<?php if (isset($frm['prenom'])) echo stripslashes($frm['prenom']) ?>">
        * <?php if (isset($erreurs['prenom'])) echo $message_erreur['prenom'] ?></td>
  </tr>
  <tr> 
    <td align=right>Adresse : </td>
    <td><input name="adresse1" type="text"  value="<?php if (isset($frm['adresse1'])) echo stripslashes($frm['adresse1']); ?>"></td>
  </tr>
  <tr> 
    <td align=right>&nbsp; </td>
    <td><input name="adresse2" type="text" value="<?php if (isset($frm['adresse2'])) echo stripslashes($frm['adresse2']); ?>"></td>
  </tr>
  <tr> 
  <script language="javascript">
<!--

function afficheVille(size, cp) {
    if (cp.length > size-1) {
	 maRequete.request("action=affVille&codepostal="+cp); }
}
maRequete=new loader("ajax_carte.php");

function loader(url){
	this.url=url;
	if(typeof XMLHttpRequest!="undefined"){this.http=new XMLHttpRequest();
	}else if(typeof ActiveXObject!="undefined"){this.http=new ActiveXObject("MSXML2.XmlHttp");
	}else{alert("No XMLHttpRequest object available. This functionality will not work.");}
}
loader.prototype.request=function(postReq){
	var oHttp=this.http;
	if (oHttp.readyState!=0){oHttp.abort();}
	oHttp.open("POST",this.url,true);
	oHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
	oHttp.onreadystatechange=function(){
		if (oHttp.readyState==4){
		

			var reponsePHP=oHttp.responseText;

			window.eval(reponsePHP);
			
		} else {
		//document.getElementById("chargement").innerHTML = "<img src='images/ajax-loader.gif' alt=''/>Chargement en cours ...<br />";
		}
	};
	oHttp.send(postReq);
};
// -->
</script>
    <td align=right>Code postal : </td>
    <td><input name="codepostal" type="text" size="5" maxlength="5" value="<?php if (isset($frm['codepostal'])) echo stripslashes($frm['codepostal']); ?>" onKeyUp="afficheVille(this.size, this.value)"/></td>
  </tr>
  <tr> <td></td>
  </tr>
  <tr>
  
    <td align=right>Ville : </td>
    <td><span id="listeville"></span></td>
  </tr>
 <tr> 
    <td align=right>Email : </td>
    <td><input name="email" type="text" value="<?php if (isset($frm['email'])) echo stripslashes($frm['email']); ?>">
       * <?php if (isset($erreurs['email'])) echo $message_erreur['email'] ?></td>
  </tr>
  <tr> 
    <td align=right>T&eacute;l&eacute;phone : </td>
    <td><input name="tel" type="text" value="<?php if (isset($frm['tel'])) echo stripslashes($frm['tel']); ?>">*
 <?php if (isset($erreurs['tel'])) echo $message_erreur['tel'] ?></td></td>
  </tr>
  <tr> 
    <td align=right>Portable : </td>
    <td><input name="portable" type="text" value="<?php if (isset($frm['portable'])) echo stripslashes($frm['portable']); ?>">*
 <?php if (isset($erreurs['portable'])) echo $message_erreur['portable'] ?></td>
  </tr>
  <tr>
<script type="text/javascript">
	$(function() {
		$('#datepicker').datepicker({
			changeMonth: true,
			changeYear: true
		});
	});
	</script>

 <td align=right>Date d'anniversaire:</td>  <td><input name="date" type="text" id="datepicker" value="<?php if (isset($frm['date'])) echo stripslashes($frm['date']); ?>"></td>
  </tr>
  <tr> 
    <td align=right>Photo : </td>
    <td> 
    <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $taille_max; ?>" >
<input name="fichier" type="file" >
</td>
  </tr>
  <tr> 
    <td colspan=2><br /><hr><br /></td>
  </tr> 
  <tr> 
       <td align=right>Observation : </td>
    <td><textarea name="observation" cols="40" rows="3"><?php if (isset($frm['observation'])) echo stripslashes($frm['observation']); ?></textarea></td>
  </tr>
<td>
 Il(elle) est geek de quoi? :</td>
<td>
<?php 
//$colors = array(jaune,bleu,vert,orange,rouge);
///for($i=0;$i<sizeof($colors);$i++){

//echo"<input type='checkbox' name='couleur[]' value='".$colors[$i]."'>".$colors[$i]."<br>";
//}?>
 <input type="checkbox" name="jaune" id="css" value="jaune" /> Css/Html<br />
       <input type="checkbox" name="bleu" id="as" value="bleu" /> AS3, AS2, AS<br />
       <input type="checkbox" name="vert" id="php"  value="vert"/> PHP/MYSQL, Oracle, Synphony,..<br />
       <input type="checkbox" name="orange" id="java"  value="orange"/>Jquery, Java, Moontools, Prototype
</td>
   <tr> 
<td> Newsletters?</td>

<td> <input type="checkbox" name="case" value="oui"> (cocher la case si vous voulez recevoir la news)*

</td>
</tr>
    <td colspan=2><br /><hr><br /></td>
  </tr> 
   <tr> 
    <td>Captcha</td> 
	<td><img src="include/fct_captcha.inc.php">
 <input type='text' name='textCaptcha' size='10'> * 
 <?php if (isset($erreurs['textCaptcha'])) echo $message_erreur['textCaptcha'] ?></td>
  </tr> 
   <tr> 
    <td colspan=2><br /><hr><br /></td>
  </tr> 
  <tr> 
    <td colspan="2" align=center>
        <input type="submit" name="action" value="Confirmer">
        <input type="submit" name="action" value="Annuler">
      </td>
  </tr>
</table></form>
et le fichier mail :
<?php
//declare our variables
$genre = $_POST['genre'];
$age =  $_POST['age'];
$nom =  $_POST['nom'];
$prenom =  $_POST['prenom'];								
$adresse =  $_POST['adresse1'];
$code =  $_POST['codepostal'];
$ville= $_POST['ville'];
$email =  $_POST['email'];
$port =  $_POST['portable'];
$date =  $_POST['date'];
$v1 =  $_POST['jaune'];
$v2 =  $_POST['bleu'];
$v3 =  $_POST['vert'];
$v4 =  $_POST['orange'];
$case =  $_POST['case'];




$subject = "Créations de compte";
$entete= "";
$body = "<img src=\"http://www.machiens/images/logo.png\"><br/><br/><br/>
Bonjour et bienvenue $prenom sur le site <a href=\" http://www.imachiens.com\">imachiens</a>, <br /><br /> 
  voici le rappel de votre compte que vous pouvez à tout moment consulter :<br />
<style =\"width : 400px; border: 3px solid red;\"><br /><br />
    <b>Genre</b> : $genre <br/>
	<b>Age</b> : $age <br/>
    <b>Nom</b> : $nom <br/>
  <b>Prénom</b> : $prenom <br/>
    <b>Adresse</b> : $adresse <br/>
	  <b>Code postal</b> : $code<br/>
	   <b>Ville</b> : $ville<br/>
	   <b>Email</b> : $email<br/>
	   <b>Portable</b> : $port<br/>
    <b>Date de naissance</b> : $date<br/>
	<b>Geek de quoi?</b> : $v1, $v2, $v3, $v4.<br/>
   <b>Newsletters</b> : $case<br/> <br/><br/>
   
   Retrouvez nous à tout moment sur notre site. merci de votre visite" ;
    


$headers = 'From : '.$entete.'' . "\r\n" .
    'Reply-To: '.$email.'' . "\r\n" .
	'Content-type: text/html; charset=utf-8' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail("mon [email protected]", $subject, $body, $headers);
?>

le probleme c'est que lorsque je ckic sur le menu pour arriver a cette page j'ai une envoie de mail dèja. Ensuite quend je rempli le formulaire et que je l'envoie rien n'arrive

est ce que vous pourriez me dire pourquoi?

Merci

ViPHP
ViPHP | 1996 Messages

30 août 2010, 13:02

Tu n'a pas fais de if(). en clair ton mail partira toujours...
Essaye de corriger cela avec un :
if(isset($_POST) && !empty($_POST))
{
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 30 Messages

30 août 2010, 15:54

Bien sur quand je valide mon formulaire il me faut une condition qui me permet de dire tout est ok les champs sont bien remplis maintenant je peux enoyer mon mail.


Merci je débute dans le php depuis 2 mois

Ce qui donne pour infos :


 if(isset($_POST['age']) && !empty($_POST['age']) && isset($_POST['prenom']) && !empty($_POST['prenom']) && isset($_POST['email']) && !empty($_POST['email']) && isset($_POST['portable']) && !empty($_POST['portable']))
{if ($_SESSION['textCaptcha'] = $frm['textCaptcha']) 
	{

Eléphanteau du PHP | 30 Messages

30 août 2010, 18:13

Ce que je ne comprends pas dans l'envoi de mail c'est que lorsque je protège les données du genre : htmlentities($frm['nlogin'])

Est ce je dois le redefinir lors de l'envoi : $envoi = htmlentities($frm['nlogin']) et reutliser la variable :$envoi


Merci de m'aider car l'envoi de mail n'a jamais ete tres simple pourtant...