Formulaire d'inscription ne fonctionne pas!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire d'inscription ne fonctionne pas!

Mon formulaire, enfin ça fonctionne !!

par anhdao » 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>

Mon formulaire d'inscription ne fonctionne pas!

par anhdao » 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

par zeus » 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 "||||" ;)

par zeus » 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

par @rthur » 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]

Formulaire d'inscription ne fonctionne pas!

par anhdao » 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>