8791 sujets

Développement web côté serveur, CMS

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! Smiley cligne
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)
Modérateur

$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';
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!!!
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)
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!!!