Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2011, 14h04   #1
Invité de passage
 
Femme
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Par défaut Formulaire envoi et preview

Bonjour,

Je suis en train de m'arracher les cheveux!!

En fait je dois creer un formulaire, jusque là tout va bien.
Je souhaite que les utilisateurs entrent nom, adresse, pour l'inscription puis coche les activités qu'ils veulent ( chaque activité ayant un certain cout) .
Pour ne pas utiliser du JavaScript (il parait que ceux qui le désactive seront embétés) je fait tout en php pour afficher ma preview avec le cout de leur activité.

Donc dans un premier fichier il y a mon form, dans un deuxieme ma preview qui rappelle toutes mes variables pour les mettre en forme et dans un troisième mon envoi à mysql.

Pensez vous que ce soit une bonne solution.
Car je lis beaucoup de forum et je vois pleins de solution différentes...
Et à chaque fois je change tout mes fichieer pour essayer d'autre soluce...

D'avance merci!!
flo4020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 14h12   #2
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Bonjour,

Sachant que tu veux tout faire en PHP cette solution est correcte. Avec quelles autres solutions hésites-tu ?

Rencontres-tu des problèmes pour la mettre en place ?
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 14h25   #3
Invité de passage
 
Femme
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
En fait si réellement le javaScript pose pb, je prendrai cette solution.
Mais il facilite quand même beaucoup la tache et rend plus esthétique.
Mon pb est que je perds mes variables entre preview et validation

JE n'arrive pas à utiliser session pour ça.
J'ai déjà essayer et ça ne marche..

Merci
flo4020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 14h29   #4
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Citation:
Envoyé par flo4020 Voir le message
En fait si réellement le javaScript pose pb, je prendrai cette solution.
Mais il facilite quand même beaucoup la tache et rend plus esthétique.
Mon pb est que je perds mes variables entre preview et validation

JE n'arrive pas à utiliser session pour ça.
J'ai déjà essayer et ça ne marche..

Merci
Montre le code des trois fichiers, sinon il est impossible de t'aider.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 14h40   #5
Invité de passage
 
Femme
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Voilà mon form
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<form name="inscriptions" method="post" action="preview.php" enctype="multipart/form-data"> 
 
Docteur (nom et prénom) <input name="nom" type="text" size="43"/>
<p>Adresse <input name="adresse" type="text" size="60" /></p>
<p>Code Postal  <input name="cp" type="text" size="4" />  Localité  <input name="localite" type="text" size="38" /></p>
<p>Numéro dordre <input name="no" type="text" size="5" /> Téléphone <input name="tel" type="text" size="10" /> (Sans espace ni /)</p>
<p>E mail <input name="mail" type="text" size="40" /> </p>
 
<h2>Je m’inscris pour la/les activités suivantes : (cocher les cases devant les activités)</h2>
 
<h3>Les soirées conférences</h3>
<div class="choix">
  <label for="choix1">Jeudi 10 février : Conjoint-aidant et assistante vétérinaire : quel statut, quel contrat? </label>&nbsp;&nbsp;&nbsp;
   <select name="choix1" class="choix">
   <option value="choix11">Je ne participe pas à cette conférence</option>
   <option value="choix12">Conférence seule</option>
   <option value="choix13">Conférencee + Repas</option>
 
   </select>
 
</div>
<div class="choix">
  <label for="choix2">Jeudi 9 Juin : Pathologies courantes du lapin de compagnie</label>&nbsp;&nbsp;&nbsp;
   <select name="choix2" class="choix">
    <option value="choix21">Je ne participe pas à cette conférence</option>
   <option value="choix22">Conférence seule</option>
   <option value="choix23"> Conférencee + Repas</option>
 
   </select>
</div>
<div class="choix">
  <label for="choix3">Jeudi 15 Décembre : le syndrome obstructif chez les chiens brachicéphales : que faire?</label>&nbsp;&nbsp;&nbsp;
   <select name="choix3" class="choix">
   <option value="choix31">Je ne participe pas à cette conférence</option>
   <option value="choix32">Conférence seule</option>
   <option value="choix33"> Conférence + Repas</option>
   </select>
</div>
<h3>La journée conférence</h3>
<p>
  <label>
    <input type="radio" name="radio1" value="radio11" id="Radio1" checked="checked"/>
    Oui</label>
 
  <label>
    <input type="radio" name="radio1" value="radio12" id="Radio2" />
    Non</label>
  <br />
</p>
<h3> Je m'inscris aux tables rondes, je serai recontacté à ce sujet</h3>
<p>
  <label>
    <input type="radio" name="radio2" value="radio21" id="RadioT1" checked="checked"/>
    Oui</label>
 
  <label>
    <input type="radio" name="radio2" value="radio22" id="RadioT2" />
    Non</label>
  <br />
</p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br  />
<p></p>
<input type="submit" name="post" value="Previsualiser" />
 
</form>
Voilà ma preview
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
 
//Récupérer variable pour prévisualiser :
 
	$nom=htmlentities($_POST['nom']);
	$adresse=htmlentities($_POST['adresse']);
	$cp=htmlentities($_POST['cp']);
	$localite=htmlentities($_POST['localite']);
	$no=htmlentities($_POST['no']);
	$tel=htmlentities($_POST['tel']);
	$mail=htmlentities($_POST['mail']);
	$choix1=htmlentities($_POST['choix1']);
	$choix2=htmlentities($_POST['choix2']);
	$choix3=htmlentities($_POST['choix3']);
	$radio1=htmlentities($_POST['radio1']);
	$radio2=htmlentities($_POST['radio2']);  
 
 
if($_POST["post"]=="Previsualiser"){
 
if (empty($nom)){
echo 'Vous n\'avez pas saisi votre Nom.';
echo '<p><input type="submit" name="return" tabindex="3" value="  Retour  " onclick="history.back()"></p>';}
elseif((empty($adresse))or(empty($cp))or(empty($localite))){
echo'Vous n\'avez pas saisi votre adresse correctement.';
echo '<p><input type="submit" name="return" tabindex="3" value="  Retour  " onclick="history.back()"></p>';}
elseif(empty($no)){
echo'Vous n\'avez pas saisie votre numéro d\'ordre.';
echo '<p><input type="submit" name="return" tabindex="3" value="  Retour  " onclick="history.back()"></p>';}
elseif(empty($tel)){
echo'Vous n\'avez pas saisi votre numéro de téléphone.';
echo '<p><input type="submit" name="return" tabindex="3" value="  Retour  " onclick="history.back()"></p>';}
elseif(empty($mail)){
echo'Vous n\'avez pas saisi votre Email.';
echo '<p><input type="submit" name="return" tabindex="3" value="  Retour  " onclick="history.back()"></p>';}
//Si tout est ok
else{
 
 
	// j'ai cliqué sur « Prévisualiser »
 
 
	echo'<h2>Vos coordonnées personnelles :<br/></h2>
	     <h3>Dr '.$nom.'<br/>
         '.$adresse.'&nbsp;&nbsp;&nbsp;'.$cp.'&nbsp;'.$localite.'<br/>
	     Numéro d\'ordre : '.$no.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong>Téléphone :'.$tel.'<br/>
         Email : '.$mail.'<br/></h3>';
	echo '<h2>Vous avez choisi de vous inscrire à la Liégeoise aux activités suivantes :</h2>';
 
echo '<h3><u>Jeudi 10 février :</u><i> Conjoint-aidant et assistante vétérinaire : quel statut, quel contrat ?</i></h3>';
	if ($_POST['choix1']=="choix12"){
		$somme1=20;
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je participe uniquement à la conférence, j\'ajoute 20€ à ma somme totale</h3><br/>';}
		elseif ($_POST['choix1']=="choix13"){
		$somme1=50;
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je participe à la conférence et au repas, j\'ajoute 50€ à ma somme totale (dont 30€ d\'accompte)</h3><br/>';}
		else {
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je ne participe pas à cette conférence</h3><br/>';
		$somme1=0;}
 
echo '<h3><u>Jeudi 9 Juin :</u><i> Pathologies courantes du lapin de compagnie </i></h3>';
	if ($_POST['choix2']=="choix22"){
		$somme2=20;
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je participe uniquement à la conférence, j\'ajoute 20€ à ma somme totale</h3><br/>';}
		elseif ($_POST['choix2']=="choix23"){
		$somme2=50;
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je participe à la conférence et au repas, j\'ajoute 50€ à ma somme totale (dont 30€ d\'accompte)</h3><br/>';}
		else {
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je ne participe pas à cette conférence</h3><br/>';
		$somme2=0;}
 
echo '<h3><u>Jeudi 15 Décembre :</u><i> Le syndrome obstructif chez les chiens brachicéphales : que faire ?</i></h3>';	
	if ($_POST['choix3']=="choix32"){
		$somme3=20;
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je participe uniquement à la conférence, j\'ajoute 20€ à ma somme totale</h3><br/>';}
		elseif ($_POST['choix3']=="choix33"){
		$somme3=50;
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je participe à la conférence et au repas, j\'ajoute 50€ à ma somme totale (dont 30€ d\'accompte)</h3><br/>';}
		else {
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je ne participe pas à cette conférence</h3><br/>';
		$somme3=0;}
 
echo '<h3><u>Samedi 24 Septembre :</u>';
	if ($_POST['radio1']=="radio11"){
		$somme4=50;
		echo '<h3>Je m\'inscris à la journée conférence et je verse un acompte de 50 euros qui me seront remboursés si je paye par chèques-formation </h3><br/>';}
		else {
		echo '<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je ne participe pas à cette conférence</h3><br/>';
		$somme4=0;}
	if ($_POST['radio2']=="radio21"){
    echo '<h3>Je m\'inscris aux tables rondes, je serai recontacté(e) à ce sujet</h3><br/>';}
	else {
	echo '<h3>Je ne m\'inscris pas aux tables rondes</h3>';}
 
$sommetotale=$somme1+$somme2+$somme3+$somme4;
 
	echo '<h3><font color=#009>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je verse donc '.$sommetotale.'€ sur le compte de la Liégeoise 143-0605987-32 .</font></h3>';}
 
echo'
<form name="inscriptions" method="post" action="validation.php" enctype="multipart/form-data"> 
<input type="submit" name="valider" value="valider" />
</form>';}	 
print_r ($_POST);
 
?>
Avec Array ( [nom] => Dupont [adresse] => rue pasteur [cp] => 95000 [localite] => Paris [no] => 6208 [tel] => 0000000000 [mail] => gerard@hotmail.com [choix1] => choix11 [choix2] => choix21 [choix3] => choix31 [radio1] => radio11 [radio2] => radio21 [post] => Previsualiser )

Validation.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
include("fonctions.php");
if (isset($_POST['valider'])){
 
 
//On créée une variable date du jour grâce à la fonction date() de PHP
$today=date("y,m,d");
 
//On se connecte
connectInscriptions();
 
//On corrige les erreurs d'accents
mysql_query("SET NAMES UTF8"); 
 
//On prépare la commande sql d'insertion
$sql = 'INSERT INTO utilisateurs VALUES("","'.$nom.'","'.$adresse.'","'.$cp.'","'.$localite.'","'.$no.'","'.$tel.'","'.$mail.'","'.$choix1.'","'.$choix2.'","'.$choix3.'","'.$radio1.'","'.$radio2.'","'.$today.'","'.$sommetotale.'")';
 
/*on lance la commande (mysql_query) et au cas où, 
on rédige un petit message d'erreur si la requête ne passe pas (or die) 
(Message qui intègrera les causes d'erreur sql)*/
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
 
// on ferme la connexion
mysql_close();
 
echo 'Votre inscription a bien été prise en compte';
 
print_r ($_POST);
}
}
?>
Avec Array ( [valider] => valider )

Et dans mysql évidemment c vide...
flo4020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 15h06   #6
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 656
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 656
Points : 5 359
Points : 5 359
Ton script validation.php ne connait pas les champs que tu essayes d'enregistrer, parce qu'ils viennent d'un formulaire 2 pages plus tôt.
Ce qu'il faut que tu fasses, c'est stocker tes informations en session pour pouvoir les faire parvenir à ton script final Formulaire réparti sur plusieurs pages
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 15h32   #7
Invité de passage
 
Femme
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Je teste ça merci!
flo4020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 09h32   #8
Invité de passage
 
Femme
Inscription : mai 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : mai 2011
Messages : 5
Points : 0
Points : 0
Voilà ce que j'ai essayé
Je n'ai repris le code que pour une variable

Inscription.php
Code :
1
2
3
4
<?php session_start();?>
<form name="inscriptions" method="post" action="preview.php" enctype="multipart/form-data"> 
 
Docteur (nom et prénom) <input name="nom" type="text" size="43"/>Nom</form>
Preview.php
Code :
1
2
3
4
5
6
7
8
<?php
php session_start();
$_SESSION['nom'] = $_POST['nom'];
 
if($_POST["post"]=="Previsualiser"){
echo'<form name="inscriptions" method="post" action="validation.php" enctype="multipart/form-data"> 
<input type="submit" name="valider" value="valider" />
</form>'; ?>

Validation.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
session_start();
$_SESSION['nom'] = $_POST['nom'];
 
include("fonctions.php");
 
if (isset($_POST['valider'])){
 
$today=date("y,m,d");
 
connectInscriptions();
 
mysql_query("SET NAMES UTF8"); 
 
$sql = 'INSERT INTO utilisateurs VALUES("","'.$nom.'","'.$adresse.'","'.$cp.'","'.$localite.'","'.$no.'","'.$tel.'","'.$mail.'","'.$choix1.'","'.$choix2.'","'.$choix3.'","'.$radio1.'","'.$radio2.'","'.$today.'","'.$sommetotale.'")';
 
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
 
mysql_close();
 
echo 'Votre inscription a bien été prise en compte';
 
print_r ($_POST);
 
}
?>
Mais ça ne marche pas,je n'arrive pas à utiliser SESSION...
flo4020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h14.


 
 
 
 
Partenaires

Hébergement Web