Suivez les fils RSS
 

Des livres incontournables pour tout maîtriser

  • CSS avancées - vers HTML5 et CSS3
  • HTML5
  • CSS2
  • PHP5 avanc�
  • Memento MySQL
  • Memento CSS 3
  • Memento XHTML
  • WordPress 3 100% pratique
  • jQuery et jQuery UI
Auteur
jptoco86
#
Citer
25 Posts
Bonsoir,

J'ai créé un formulaire d'inscription mais lors de l'envoi, j'ai une erreur due à une ou plusieurs fautes de syntaxe...

N'étant pas expert en PHP et ayant déjà effectué quelques recherches, pourriez-vous m'aider à corriger ces erreurs??? Et par la même occasion me faire partager votre avis sur le code écrit.

Voici l'HTML:

<form action="sendemail.php" id="inscriptionForm">
   
   <fieldset>
      <label for="equipe">Nom de l'équipe:</label>
      <input type="text" name="Nom de l'équipe" id="equipe" />
      <label for="mailCapitaine">e-mail du capitaine:</label>
      <input type="text" name="e-mail du capitaine" id="mailCapitaine" />
   </fieldset>
      
   <fieldset>
   <legend>Choisissez une catégorie:</legend>
      <ul>
         <li><label for="folklore">Folklore: </label><input type="radio" id="folklore" name="categorie" value="folklore" /></li>
        
         <li><label for="vitesse">Vitesse: </label><input type="radio" id="vitesse" name="categorie" value="vitesse" /></li>
        
         <li><label for="mouvement">Mouvement de jeunesse: </label><input type="radio" id="mouvement" name="categorie" value="mouvement de jeunesse" /></li>
      </ul>
   </fieldset>
   
   <fieldset>
   <legend>Inscrivez les participants (6 min et 15 max):</legend>
      <ul>
         <li><span>Nom: </span><input type="text" id="nom1" /></li>
         <li><span>Prénom: </span><input type="text" id="pre1" /></li>
         <li><span>e-mail: </span><input type="text" id="mail1" /></li>
      </ul>
      <ul>
         <li><input type="text" id="nom2" /></li>
         <li><input type="text" id="pre2" /></li>
         <li><input type="text" id="mail2" /></li>
      </ul>
      <ul>
         <li><input type="text" id="nom3" /></li>
         <li><input type="text" id="pre3" /></li>
         <li><input type="text" id="mail3" /></li>
      </ul>
   </fieldset>
   
   <input type="submit" name="submit" id="buttonsend" value="Send" />

</form>



Et voici le PHP:

<?php

$mailto   			= "torres.jp86@gmail.com";
$equipe     		= $_POST['equipe']; 
$mailCapitaine    	= $_POST['mailCapitaine'];
$categorie  		= $_POST['categorie']='folklore'/'vitesse'/'mouvement';
$part1				= $_POST['nom1' 'pre1' 'mail1'];
$part2				= $_POST['nom2' 'pre2' 'mail2'];
$part3				= $_POST['nom3' 'pre3' 'mail3'];

	if(strlen($_POST['equipe']) < 1 ){
		echo  'email_error';
	}
	
  else if(strlen($mailCapitaine) < 1 ) {
		echo 'email_error';
	}

  else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", $mailCapitaine)) {
    echo 'email_error';
  }

  else {

	// NOW SEND THE ENQUIRY

	$email_message="\n\n" .
		
		$equipe .
		"\n" .
		
		$mailCapitaine .
		"\n" .
		
		$categorie .
		"\n" .
		
		$part1 .
		"\n" .
		$part2 .
		"\n" .
		$part3 .
		"\n" .
		"\n\n" ;

		$email_message = trim(stripslashes($email_message));
		mail($mailto, $email_message, "From: \"$vname\" <".$mailCapitaine.">\nReply-To: \"".$equipe."\" <".$mailCapitaine.">\nX-Mailer: PHP/" . phpversion() );

  }
?>


Un très grand merci d'avance pour votre aide! cligne

http://www.jptorres.be 
^
jmlapam
#
Citer
Bazinga !
2148 Posts
Salut,
a écrit :
$_POST['nom1' 'pre1' 'mail1'];


Cette syntaxe est incorrecte ! Tu devrais plutôt les concaténer.
Ah oui et revoir l'attribut name sinon tu n'y arriveras pas.
Modifié par jmlapam (09 Feb 2012 - 01:51)

Don't <li> !

http://jmperso.eu 
^
kustolovic
#
Citer
553 Posts

$categorie  		= $_POST['categorie']='folklore'/'vitesse'/'mouvement';

Je ne pense pas que la catégorie soit le folklore divisé par la vitesse divisé par le mouvement... Ce n'est pas une erreur de syntaxe mais le résultat ne sera sûrement pas celui voulu...
Sans doute cela:

$categorie  		= $_POST['categorie']='folklore/vitesse/mouvement';


^
jptoco86
#
Citer
25 Posts
Un très grand merci pour vos réponse!

Après plusieurs essais, cela ne fonctionne toujours pas comme je le voudrais...
En effet, je n'ai plus vraiment d'erreur de syntaxe mais les "array" ne s'affiche pas dans le mail...

Impossible de récupérer les $_POST['nom1']; $_POST['pre1']; ect...

Voici ou j'en suis :

HTML:

<form method="post" action="sendemail.php" id="inscriptionForm">
   
   <fieldset>
      <label for="equipe">Nom de l'équipe:</label>
      <input type="text" name="equipe" id="equipe" />
      <label for="mailCapitaine">e-mail du capitaine:</label>
      <input type="text" name="mailCapitaine" id="mailCapitaine" />
   </fieldset>
      
   <fieldset>
   <legend>Choisissez une catégorie:</legend>
      <ul>
         <li><label for="folklore">Folklore: </label><input type="radio" id="folklore" name="categorie" value="folklore" /></li>
        
         <li><label for="vitesse">Vitesse: </label><input type="radio" id="vitesse" name="categorie" value="vitesse" /></li>
        
         <li><label for="mouvement">Mouvement de jeunesse: </label><input type="radio" id="mouvement" name="categorie" value="mouvement de jeunesse" /></li>
      </ul>
   </fieldset>
   
   <fieldset>
   <legend>Inscrivez les participants (6 min et 15 max):</legend>
      <ul>
         <li><span>Nom: </span><input type="text" id="nom1" /></li>
         <li><span>Prénom: </span><input type="text" id="pre1" /></li>
         <li><span>e-mail: </span><input type="text" id="mail1" /></li>
      </ul>
      <ul>
         <li><input type="text" id="nom2" /></li>
         <li><input type="text" id="pre2" /></li>
         <li><input type="text" id="mail2" /></li>
      </ul>
      <ul>
         <li><input type="text" id="nom3" /></li>
         <li><input type="text" id="pre3" /></li>
         <li><input type="text" id="mail3" /></li>
      </ul>
   </fieldset>
   
   <input type="submit" name="submit" id="buttonsend" value="Send" />

</form>


PHP:

<?php

$mailto   		= "torres.jp86@gmail.com";
$equipe     	= $_POST['equipe']; 
$mailCapitaine  = $_POST['mailCapitaine'];
$categorie  	= $_POST['categorie'];

$part1 = array();
$part1['nom']    = $_POST['nom1'];
$part1['prenom'] = $_POST['pre1'];
$part1['mail']   = $_POST['mail1'];

$part2 = array();
$part2['nom']    = $_POST['nom2'];
$part2['prenom'] = $_POST['pre2'];
$part2['mail']   = $_POST['mail2'];

$part3 = array();
$part3['nom']    = $_POST['nom3'];
$part3['prenom'] = $_POST['pre3'];
$part3['mail']   = $_POST['mail3'];

	if(strlen($_POST['equipe']) < 1 ){
		echo  'email_error';
	}
	
  else if(strlen($mailCapitaine) < 1 ) {
		echo 'email_error';
	}

  else {

	// NOW SEND THE ENQUIRY

	$email_message="\n\n" .
		
		$equipe .
		"\n" .
		
		$mailCapitaine .
		"\n" .
		
		$categorie .
		"\n" .
		
		$part1 .
		"\n" .
		$part2 .
		"\n" .
		$part3 .
		"\n" .
		"\n\n" ;

		$email_message = trim(stripslashes($email_message));
		mail($mailto, $email_message, "From: \"$vname\" <".$mailCapitaine.">\nReply-To: \"".$equipe."\" <".$mailCapitaine.">\nX-Mailer: PHP/" . phpversion() );

  }
?>



Voilà, pourriez-vous m'aider à corriger les éventuelles erreurs afin que cela fonctionne?

Merci pour votre aide!!!

http://www.jptorres.be 
^
PanPan50
#
Citer
63 Posts
$_POST[" ici c'est le name de l'input que tu récupères, pas l'id "];

http://www.guillaumeavoine.com/ 
^
jmlapam
#
Citer
Bazinga !
2148 Posts
PanPan50 a écrit :
$_POST[&quot; ici c'est le name de l'input que tu récupères, pas l'id &quot;];

Ce que je disais plus haut:

a écrit :
Ah oui et revoir l'attribut name sinon tu n'y arriveras pas
.
Modifié par jmlapam (10 Feb 2012 - 22:37)

Don't <li> !

http://jmperso.eu 
^
jptoco86
#
Citer
25 Posts
Bonsoir,

Encore merci pour votre précieuse aide!!!

Je ne pense plus avoir d'erreur de syntaxe... Seulement je ne suis pas certain des deux dernière ligne qui envoient le mail! Pouvez-vous m'indiquer s'il y a une erreur?

Aussi, j'aimerais maintenant pouvoir recevoir ceci de façon un peu plus structurée... Avez-vous des idées ou quelques exemples?

Voici le code PHP:

<?php

$mailto   		= "torres.jp86@gmail.com";
$equipe     	= $_POST['equipe'];
$mailCapitaine  = $_POST['mailCapitaine'];	
$categorie  	= $_POST['categorie'];

$part1 = array();
$part1["nom"]    = $_POST['nom1'];
$part1["prenom"] = $_POST['pre1'];
$part1["mail"]   = $_POST['mail1'];

	if(strlen($_POST['equipe']) < 1 ){
		echo  'email_error';
	}
	
  else if(strlen($mailCapitaine) < 1 ) {
		echo 'email_error';
	}

  else {

	// NOW SEND THE ENQUIRY

	$email_message="\n\n" .
		
		$equipe .
		"\n" .
		
		$mailCapitaine .
		"\n" .
		
		$categorie .
		"\n" .
		
		$part1 .
		"\n" .
		"\n\n" ;

		$email_message = trim(stripslashes($email_message));
		mail($mailto, $email_message, "From: \"$vname\" <".$mailCapitaine.">\nReply-To: \"".$equipe."\" <".$mailCapitaine.">\nX-Mailer: PHP/" . phpversion() );

  }
?>


Merci beaucoup!!!

http://www.jptorres.be 
^