Formulaire d'inscription ne fonctionne pas!

Petit nouveau ! | 3 Messages

02 sept. 2007, 00:14

Je ne comprends pas pourquoi, car je suis débutante, mon formulaire, une fois rempli, donne un fichier vide ou avec des ||||.
Au secours et merci

<?php 
//pour n'avoir qu'un seul endroit où modifier le fichier 
define('PARTICIPANT_FILE', 'participants.txt'); 
if (!empty($_POST)) 
{//formulaire soumis 

/* ******************* 
inscription 
********************* */ 
if(isset($_POST['inscri'])) 
{ 
if ($_POST['nom'] !='' 
AND $_POST['prenom'] !='' 
AND $_POST['tel'] !='' 
AND $_POST['email'] !='' 
AND $_POST['adressepostale'] !='' 
AND $_POST['codepostal'] !='' 
AND $_POST['ville'] !='' 
AND $_POST['nbreadulte'] !='' 
AND $_POST['nbreenfant'] !='' 
AND $_POST['cinqans'] !='' 
AND $_POST['dixans'] !='' 
AND $_POST['quinzeans'] !='' 
AND $_POST['plusdequinzeans'] !='' 
AND $_POST['nbreadulteprevu'] !='' 
AND $_POST['nbreenfantprevu'] !='' 
AND $_POST['messages'] !='') 

{//donnees ok 
$nom = stripslashes($_POST['nom']); 
$prenom = stripslashes($_POST['prenom']); 
$tel = stripslashes($_POST['tel']); 
$email = stripslashes($_POST['email']); 
$adressepostale = stripslashes($_POST['adressepostale']); 
$codepostal = stripslashes($_POST['codepostal']); 
$Ville = stripslashes($_POST['ville']); 
$nbreadulte = stripslashes($_POST['nbreadulte']); 
$nbreenfant = stripslashes($_POST['nbreenfant']); 
$cinqans = stripslashes($_POST['cinqans']); 
$dixans = stripslashes($_POST['dixans']); 
$quinzeans = stripslashes($_POST['quinzeans']); 
$plusdequinzeans = stripslashes($_POST['plusdequinzeans']); 
$nbreadulteprevu = stripslashes($_POST['nbreadulteprevu']); 
$nbreenfantprevu = stripslashes($_POST['nbreenfantprevu']); 
$messages = stripslashes($_POST['messages']); 

} 
else 
{ 
//écriture dans le fichier 
$ligne = $nom.'|'. 
$prenom.'|'. 
$tel.'|'. 
$email.'|'. 
$adressepostale.'|'. 
$codepostal.'|'. 
$ville.'|'. 
$nbreadulte.'|'. 
$nbreenfant.'|'. 
$cinqans.'|'. 
$dixans.'|'. 
$quinzeans.'|'. 
$plusdequinzeans.'|'. 
$nbreadulteprevu .'|'. 
$nbreenfantprevu.'|'. 
$messages."\r\n"; 
file_put_contents(PARTICIPANT_FILE,$ligne,FILE_APPEND); 
$message = 'inscription effectuée'; 
//pour empêcher le réaffichage des champs 
unset($_POST); 
} 
} 
else 
{ 
$message = 'merci de remplir tous les champs'; 
} 
} 
?> 

<html> 
<head> 
<title>Untitled Document</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 

</head> 
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> 
<p>&nbsp;</p> 
<form method="post" action="participants.php" "<?php echo $_SERVER['PHP_SELF']; ?>"> 
<table width="90%" border="0" cellspacing="2" cellpadding="4"> 
<tr> 
<td width="33%" height="30" colspan="3" valign="top" bgcolor="#003399"><div align="center"><font color="#CCCCCC"><b>Formulaire d'inscription participant </b></font></div></td> 
</tr> 

<tr> 
<td colspan="2" align="right" valign="top"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> 

<tr> 
<td width="27%" align="right" valign="top"><b>Nom :</b></td> 
<td width="79%" valign="top"> <input name="nom" type="text" size="50" value="<?php echo $_POST['nom']; ?>" > </td> 
</tr> 

<tr> 
<td align="right" valign="top"><b>Pr&eacute;nom :</b></td> 

<td valign="top"> <input name="prenom" type="text" size="50" value="<?php echo $_POST['prenom']; ?>" > </td> 
</tr> 
<tr> 
<td align="right" valign="top"><b>T&eacute;l&eacute;phone :</b></td> 
<td valign="top"> 
<input name="tel" type="text" size="10" value="<?php echo $_POST['tel']; ?>" > 

</td> 
</tr> 

<tr> 
<td align="right" valign="top"><b>Adresse Mail :</b></td> 
<td valign="top"> <input name="email" type="text" size="50" value="<?php echo $_POST['email']; ?>" > </td> 
</tr> 
<tr> 
<td align="right" valign="top"><b>Adresse postale :</b></td> 

<td valign="top"> 
<input name="adressepostale" type="text" value="" size="50" value="<?php echo $_POST['adressepostale']; ?>"> 
</td> 
</tr> 
<tr> 
<td align="right" valign="top">&nbsp;</td> 
<td valign="top"> 
<input name="adressepostale" type="text" value="" size="50" value="<?php echo $_POST['adressepostale']; ?>"> 
</td> 

</tr> 
<tr> 
<td align="right" valign="top"><b>Code postal :</b></td> 
<td valign="top"> 
<input name="codepostal" type="text" value="" size="5" value="<?php echo $_POST['codepostal']; ?>"> 
</td> 
</tr> 
<tr> 

<td align="right" valign="top"><b>Ville :</b></td> 
<td valign="top"> 
<input name="ville" type="text" value="" size="50" value="<?php echo $_POST['ville']; ?>"> 
</td> 
</tr> 
<tr> 
<td align="right" valign="top"><b>Nombre d'adultes :</b></td> 
<td valign="top"> 

<input name="nbreadulte" type="text" value="" size="2" value="<?php echo $_POST['nbreadulte']; ?>" > 
</td> 
</tr> 
<tr> 
<td align="right" valign="top"><b>Nombre d'enfants :</b></td> 
<td valign="top"> 
<input name="nbreenfant" type="text" value="" size="2" value="<?php echo $_POST['nbreenfant']; ?>" > 
</td> 

</tr> 
<tr> 
<td align="right" valign="top"><b> 0 - 5 <font color="#FFFFFF">a</font>ans :</b></td> 
<td valign="top"> 
<input name="cinqans" type="text" value="" size="2" value="<?php echo $_POST['cinqans']; ?>" > 
</td> 
</tr> 

<tr> 
<td align="right" valign="top"><b>5 - 10 ans :</b></td> 
<td valign="top"> 
<input name="dixans" type="text" value="" size="2" value="<?php echo $_POST['dixans']; ?>" > 
</td> 
</tr> 
<tr> 
<td align="right" valign="top"><b>10 - 15 ans :</b></td> 

<td valign="top"> 
<input name="quinzeans" type="text" value="" size="2" value="<?php echo $_POST['quinzeans']; ?>" > 
</td> 
</tr> 
<tr> 
<td align="right" valign="top"><b>+ de 15 ans :</b></td> 
<td valign="top"> 
<input name="plusdequinzeans" type="text" value="" size="2" value="<?php echo $_POST['plusdequinzeans']; ?>" > 

</td> 
</tr> 
<tr> 
<td align="right" valign="top"><b>Nous pr&eacute;voyons d'&ecirc;tre :</b></td> 
<td valign="top"> 
<input name="nbreadulteprevu" type="text" value="" size="2" value="<?php echo $_POST['nbreadulteprevu']; ?>"> 
<b>adultes</b> <strong>le 30 Septembre </strong></td> 

</tr> 
<tr> 
<td align="right" valign="top"><b>Nous pr&eacute;voyons d'&ecirc;tre :</b></td> 
<td valign="top"> 
<input name="nbreenfantprevu" type="text" value="" size="2" value="<?php echo $_POST['nbreenfantprevu']; ?>" > 
<b>enfants </b><strong>le 30 Septembre </strong></td> 

</tr> 
<tr> 
<td align="right" valign="top"><b>Message :</b></td> 
<td valign="top"> <textarea name="messages" rows="10" cols="50" wrap="VIRTUAL"> </textarea> </td> 
</tr> 
<tr> 
<td align="right" valign="top"><p>&nbsp;</p></td> 
<td> <input type="submit" name="inscri" value="Envoyer"> <input type="reset" name="inscri" value="Annuler"></td> 

</tr> 
</table></td> 
</tr> 
<tr> 
<td colspan="3" valign="top"> 
<hr width="90%" size="1" noshade></td></tr> 
</table> 
</form> 

<?php echo $message; ?> 

</body> 
</html>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 sept. 2007, 03:51

Bonjour,

A première vue je vois pas l'erreur...
Peux tu éditer ton message précédent et encadrer ton code par des balises PHP afin qu'on y voit + clair?

Code : Tout sélectionner

[php] // ton code... [/php]
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 sept. 2007, 10:25

Modération :
anhdao, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 sept. 2007, 10:28

Si je lit ta structure, voilà ce que je comprend

Code : Tout sélectionner

SI les données POST sont présente ALORS SI toutes les données sont remplies ALORS Récupération des données SINON Ecriture des données dans un fichier FINSI SINON affichage d'un message d'erreur FINSI
En clair, tu récupères les données uniquement si elles sont toutes présente, mais tu ne les enregistres pas ) => fichier vide
Si toutes les données ne sont pas présente, tu ne récupères pas les données mais tu les enregistres dans le fichier => fichier contenant uniquement des "||||" ;)
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

Petit nouveau ! | 3 Messages

06 sept. 2007, 13:48

Je comprends très bien ce que tu m'expliques et j'ai beau cherché la solution mais pour une débutante, en vain!

Si tu peux m'aider en me donnant des exemples plus précis pour mettre mon formulaire de mon website ci contre de la manière suivante:

Quand l'internaute saisie une inscription et valide, un fichier "participant.txt" sera alimenté pour que je puisse en premier temps convertir en excel pour trier (le SQL ce serait plus tard)

http://www.udaf92.fr/documents/informat ... ations.htm

Je m'occupe bénévolement ce site de mon association et je l'ai développé avec Dreamweaver , tu vois un petit peu mon problème !!

Ce matin j'avais retravaillé avec des balises mais je ne peux envoyer en tant que nouveau message et j'avais expédié à moi, utilisateur "anhdao" et je ne le retrouve plus , zut!!

Merci d'avance

Petit nouveau ! | 3 Messages

09 sept. 2007, 16:38

Merci pour tes guides !
Enfin, les inscriptions des internautes arrivent au fichier participants.txt comme prévu mais pourquoi les barres de séparation des champs des données ||| ne se mettent qu'à la fin de la ligne mais ils ne séparent pas les données??
Et maintenant je veux aller un petit plus loin, comment faire pourque les inscriptions des internautes arrivent à une base de données MySQL, tu peux me guider??
Merci ZEUS et le forum

//pour n'avoir qu'un seul endroit où modifier le fichier
define('PARTICIPANTS_FILE', 'participants.txt');
if (!empty($_POST))
{//formulaire soumis

/* *******************
inscription
********************* */
if(isset($_POST['inscri']));
    {
        if ($_POST['nom'] != ''	
	AND $_POST['prenom']  != '' 
	AND $_POST['tel'] != '' 
	AND $_POST['email']  != '' 
	AND $_POST['adressepostale1']  != ''
	AND $_POST['adressepostale2']  != ''
	AND $_POST['codepostal']  != '' 
	AND $_POST['ville']  != '' 
	AND $_POST['nbreadultes']  != '' 
	AND $_POST['nbreenfants']  != '' 
	AND $_POST['cinqans']  != '' 
	AND $_POST['dixans']  != '' 
	AND $_POST['quinzeans']  != '' 
	AND $_POST['plusdequinzeans']  != '' 
	AND $_POST['adulteprevu']  != '' 
	AND $_POST['enfantprevu']  != ''
	AND $_POST['messages']  != '')	
	
        {//donnees ok
            $nom = stripslashes($_POST['nom']);
            $prenom = stripslashes($_POST['prenom']);
	    $tel = stripslashes($_POST['tel']);
	    $email = stripslashes($_POST['email']);
	    $adressepostale1  = stripslashes($_POST['adressepostale1']);
	    $adressepostale2  = stripslashes($_POST['adressepostale2']);
	    $ville  = stripslashes($_POST['ville']);
	    $messages = stripslashes($_POST['messages']);
	 }
  
			file_put_contents(PARTICIPANTS_FILE,$_POST,FILE_APPEND);
	
	{
		 //écriture dans le fichier
		 
                $ligne = $nom. '|'.
		$prenom. '|'.
		$tel. '|'.
		$email.'|'.
		$adressepostale1. '|'.
		$adressepostale2. '|'.
		$codepostal. '|'.
		$ville. '|'.
		$nbreadultes. '|'.
		$nbreenfants. '|'.		
		$cinqans. '|'.
		$dixans. '|'.
		$quinzeans. '|'.
		$plusdequinzeans. '|'.
		$adulteprevu. '|'.
		$enfantprevu. '|'.
		$messages." \r\n";
		 		 		
			file_put_contents(PARTICIPANTS_FILE,$ligne,FILE_APPEND);
			
		$message = 'inscription effectuée';
		                //pour empêcher le réaffichage des champs
                unset($_POST);
	}
      }
	{
        $message = 'merci de remplir tous les champs';
        }           
          
    }
    ?>

Code : Tout sélectionner

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <p>&nbsp;</p> <form method="post" action="participants.php" <table width="90%" border="0" cellspacing="2" cellpadding="4"> <tr> <td width="33%" height="30" colspan="3" valign="top" bgcolor="#003399"><div align="center"><font color="#CCCCCC"><b>Formulaire d'inscription participant </b></font></div></td> </tr> <tr> <td colspan="2" align="right" valign="top"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="27%" align="right" valign="top"><b>Nom :</b></td> <td width="79%" valign="top"> <input name="nom" type="text" size="50"> </td> </tr> <tr> <td align="right" valign="top"><b>Prénom :</b></td> <td valign="top"> <input name="prenom" type="text" size="50"> </td> </tr> <tr> <td align="right" valign="top"><b>Téléphone :</b></td> <td valign="top"> <input name="tel" type="text" size="10"></td> </tr> <tr> <td align="right" valign="top"><b>Adress Mail :</b></td> <td valign="top"> <input name="email" type="text" size="50"></td> </tr> <tr> <td align="right" valign="top"><b>Adresse Postale 1:</b></td> <td valign="top"> <input name="adressepostale1" type="text" value="" size="50"></td> </tr> <tr> <td align="right" valign="top"><b>Adresse Postale 2:</b></td> <td valign="top"> <input name="adressepostale2" type="text" value="" size="50"></td> </tr> <tr> <td align="right" valign="top"><b>Code Postal :</b></td> <td valign="top"> <input name="codepostal" type="text" value="" size="5"></td> </tr> <tr> <td align="right" valign="top"><b>Ville :</b></td> <td valign="top"> <input name="ville" type="text" value="" size="50"></td> </tr> <tr> <td align="right" valign="top"><b>Nombre adultes :</b></td> <td valign="top"> <input name="adultes" type="text" value="" size="2"></td> </tr> <tr> <td align="right" valign="top"><b>Nombre Enfants :</b></td> <td valign="top"> <input name="enfants" type="text" value="" size="2"></td> </tr> <tr> <td align="right" valign="top"><b>0 - 5 ans:</b></td> <td valign="top"> <input name="cinqans" type="text" value="" size="2"></td> </tr> <tr> <td align="right" valign="top"><b>5 - 10 ans:</b></td> <td valign="top"> <input name="dixans" type="text" value="" size="2"></td> </tr> <tr> <td align="right" valign="top"><b>10 - 15 ans :</b></td> <td valign="top"> <input name="quinzeans" type="text" value="" size="2"></td> </tr> <tr> <td align="right" valign="top"><b>plus de 15 ans :</b></td> <td valign="top"> <input name="plusdequinzeans" type="text" value="" size="2"></td> </tr> <tr> <td align="right" valign="top"><b>Nous pr&eacute;voyons d'&ecirc;tre :</b></td> <td valign="top"> <input name="adulteprevu" type="text" value="" size="2"> <b>adultes</b> <strong>le 30 Septembre </strong></td> </tr> <tr> <td align="right" valign="top"><b>Nous pr&eacute;voyons d'&ecirc;tre :</b></td> <td valign="top"> <input name="enfantprevu" type="text" value="" size="2"> <b>enfants </b><strong>le 30 Septembre </strong></td> </tr> <tr> <td align="right" valign="top"><b>Message :</b></td> <td valign="top"> <textarea name="message" rows="10" cols="50" wrap="VIRTUAL"> </textarea> </td> </tr> <tr> <td align="right" valign="top"><p>&nbsp;</p></td> <td> <input type="submit" name="inscri" value="Envoyer"> <input type="reset" name="inscri" value="Annuler"></td> </tr> </table></td> </tr> <tr> <td colspan="3" valign="top"> <hr width="90%" size="1" noshade></td></tr> </table> </form> </body> </html>