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 11/08/2011, 10h57   #1
Futur Membre du Club
 
Femme kaoutar
Stagiaire
Inscription : août 2009
Messages : 148
Détails du profil
Informations personnelles :
Nom : Femme kaoutar
Localisation : France

Informations professionnelles :
Activité : Stagiaire
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 148
Points : 16
Points : 16
Par défaut message de verification

Bonjour,

mon probleme c'est que toutes les messages de verification s'affiche 2 fois alors il faut cliquer 2 fois pour revenir sur la même page et tous les champs ont été effacés

voila mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
if( $_POST['mail']=='' or $_POST['login_user']==''  or $_POST['pass_user']==''   or $_POST['name']=='' ){?> <script language="javascript">
alert("Vous devez remplir les champs obligatoire"); 
</script>    
 <?php include("inscription.php");exit;  ?>
 
<?php }
 else if ((!preg_match($regex, $mail)) ){   ?>
 <script language="javascript">
alert("Vérifiez votre email"); </script> 
<?php  include("inscription.php");exit; 
}
Merci d'avance
Miss kouka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 11h04   #2
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 773
Points : 2 332
Points : 2 332
Bonjour,

Tu pourrais afficher le code entier ? Il en manque un bout là, ou alors tu fais du PHP sans balise...
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 11h11   #3
Futur Membre du Club
 
Femme kaoutar
Stagiaire
Inscription : août 2009
Messages : 148
Détails du profil
Informations personnelles :
Nom : Femme kaoutar
Localisation : France

Informations professionnelles :
Activité : Stagiaire
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 148
Points : 16
Points : 16
merci pour ta raponse voila mon code

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
<?php
include("connection.php");
//ini_set('sendmail_from', 'tonmail');
 
//mail("khniki@NDS.com","eee","aa");
 
 
$mail=$_POST['mail'];
$name=addslashes($_POST['name']);
 
$location=addslashes($_POST['location']);
$telephone=addslashes($_POST['telephone']);
 
$mobile=addslashes($_POST['mobile']);
$departement=$_POST['departement'];
$main_project=$_POST['main_project'];
$manager=$_POST['manager'];
 
$login=$_POST['login_user'];
$pass=$_POST['pass_user'];
$valider=$_POST['valider'];
 
$atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)                     
 $regex = '/^' . $atom . '+' . '(\.' . $atom . '+)*' .  '@' .   '(' . $domain . '{1,63}\.)+' .  $domain . '{2,63}$/i';     
 
if( $_POST['mail']=='' or $_POST['login_user']==''  or $_POST['pass_user']==''   or $_POST['name']=='' ){?> <script language="javascript">
alert("Vous devez remplir les champs obligatoire"); 
</script>    
 <?php include("inscription.php");exit;  ?>
 
<?php }
 else if ((!preg_match($regex, $mail)) ){   ?>
 <script language="javascript">
alert("Vérifiez votre email"); </script> 
<?php  include("inscription.php");exit; 
}
//ini_set('sendmail_from', 'tonmail');
 
$emailsend="aa@aa.com";
$message="Nouveau user \n". "* Name : ".$name."\n". "* Telephone : ".$telephone."\n".  "* Location : ".$location."\n"."* departement :".$departement."\n". "* Main Project :".$main_project."\n"
."* manager :".$manager."\n"."* login : ".$login."\n"."* Password :".$pass."\n"."* Email :".$mail ;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $mail \r\nReply-to :  <$emailsend>\nX-Mailer:PHP";
 
$sujet="Demande d'inscription";
$message1="Merci pour votre message ";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $emailsend \r\nReply-to :<$mail>\nX-Mailer:PHP";
 
//mail($mail, $emailsend);
ini_set('SMTP','smtp.FR.aaa.com');
if ((mail($emailsend,$sujet,$message,$headers))){
	$s=mysql_query("insert into authentification values('','$location','$name','$telephone','$mobile','$departement','$main_project','$manager','$mail','$login','$pass','$valider')");
 
?>
 <script language="javascript">
alert("Votre mail a été envoyé"); </script> <?php  include("inscription.php");exit; 
 
} else {
echo ' &nbsp;&nbsp;&nbsp;Une erreur s est produite</font >'; ?>
 <script language="javascript">
alert("Une erreur s'est produite"); </script> <?php include("inscription.php");exit; 
 
}
?>
Miss kouka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 11h19   #4
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 773
Points : 2 332
Points : 2 332
Quand tu dis que les alert s'affichent deux fois, c'est à dire ?

Par exemple ton premier if, si jamais le nom est mal renseigné, tu as deux fois à l'écran :
Code :
alert("Vous devez remplir les champs obligatoire");
?
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 11h28   #5
Futur Membre du Club
 
Femme kaoutar
Stagiaire
Inscription : août 2009
Messages : 148
Détails du profil
Informations personnelles :
Nom : Femme kaoutar
Localisation : France

Informations professionnelles :
Activité : Stagiaire
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 148
Points : 16
Points : 16
dans les deux cas le message s'affiche deux fois par exemple s'il y a un champ mal renseigner il m'affiche je clique sur ok ensuite je clique sur ok

et je reviens sur la même page et tous les champs ont été effacés

et la meme chose dans le cas contraire(la verification est realisé)
Miss kouka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 11h30   #6
Futur Membre du Club
 
Femme kaoutar
Stagiaire
Inscription : août 2009
Messages : 148
Détails du profil
Informations personnelles :
Nom : Femme kaoutar
Localisation : France

Informations professionnelles :
Activité : Stagiaire
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 148
Points : 16
Points : 16
oui
Miss kouka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h06   #7
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
salut,

je ne vois pas le message d'erreur que tu décris dans ton code.

Citation:
verifier vos champs
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h51   #8
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 773
Points : 2 332
Points : 2 332
Citation:
Envoyé par Thes32 Voir le message
salut,

je ne vois pas le message d'erreur que tu décris dans ton code.
Je pense qu'il parle du premier message d'erreur à savoir :
Code :
alert("Vous devez remplir les champs obligatoire");
Vraisemblablement, t'as un problème à l'include.
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 16h01   #9
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
si je peux me permettre ... faire une gestion d'erreur en php et afficher les messages en javascript ... on a vu mieux.

PRINCIPE de base :
1/ on fait une PREMIERE vérification (facultative) en javascript AVANT d'envoyer le formulaire (onsubmit ...)
2/ on fait une DEUXIEME vérification (obligatoire) en php (tout php !). Au cas où javascript est désactivé, c'est la dernière "barrière" !

Donc : supprimer ici toutes les alert() javascript,
les remplacer par des $msg_erreur = '...........';
...

ps : perso, je ne laisse pas php interpréter quoi que ce soit : (ne serait-ce que pour la lisibilité de la coloration syntaxique ...)
Code :
1
2
3
4
5
6
<?php
// NON :
$headers .= "From: $emailsend \r\nReply-to :<$mail>\nX-Mailer:PHP";
// OUI :
$headers .= "From: ".$emailsend." \r\nReply-to :<".$mail.">\nX-Mailer:PHP";
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 19h27   #10
Membre habitué
 
Homme Lucas GAUTHERON
Lycéen
Inscription : décembre 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Lucas GAUTHERON

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : décembre 2008
Messages : 106
Points : 145
Points : 145
Avec un bon éditeur, c'est bien plus clair sans la concaténation.

@Miss kouka: suis les conseils de jreaux62 à propos de ta gestion d'erreur et sépare la présentation du reste ! là ta sortie est mélangée au milieu de ton script, on a du mal à s'y retrouver.
lucas74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 21h13   #11
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Pour tout dire, le code du message #3 me fait un peu peur...
Tu aurais un exemple de page HTML générée (code source du navigateur) avec le message d'erreur en double ?

Sans revenir bien entendu sur les interventions précédentes qui sont la bonne façon de procéder
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 10h51   #12
Futur Membre du Club
 
Femme kaoutar
Stagiaire
Inscription : août 2009
Messages : 148
Détails du profil
Informations personnelles :
Nom : Femme kaoutar
Localisation : France

Informations professionnelles :
Activité : Stagiaire
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 148
Points : 16
Points : 16
merci pour vos interventions

@jer62 j'ai supprimé toutes les alertes et j'ai mis ce code la mais je ne sais pas est ce que c'est ca ce que tu m'a demandé

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if( $_POST['mail']=='' or $_POST['login_user']==''  or $_POST['pass_user']==''   or $_POST['name']=='' ){
 
 
$message_erreur="Vous devez remplir les champs obligatoire"; 
 
echo $message_erreur;
 
 include("inscription.php");exit;  
 
 }
 else if ((!preg_match($regex, $mail)) ){  
 
$message_erreur="Vérifiez votre email"; 
echo $message_erreur;
  include("inscription.php");exit; 
}
Miss kouka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 10h56   #13
Futur Membre du Club
 
Femme kaoutar
Stagiaire
Inscription : août 2009
Messages : 148
Détails du profil
Informations personnelles :
Nom : Femme kaoutar
Localisation : France

Informations professionnelles :
Activité : Stagiaire
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 148
Points : 16
Points : 16
@Bavino voila le code source de ma page inscription
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
<form action="add_user.php" method="post">
<table width="92%" align="center" bgcolor="#000000">
<tr><td height="30" >&nbsp;</td>
  <td width="64%"  ><h3><strong>Inscription    </strong></h3></td>
  </tr>
  <tr>
    <td width="36%" ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">*Location 
      :</font></td>
    <td ><input type="text" name="location" /></td>
  </tr>
  <tr>
    <td ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">*Name
      :&nbsp;&nbsp;</font></td>
    <td ><input type="text" name="name" /></td>
  </tr>
  <tr>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Téléphone       :&nbsp;&nbsp;&nbsp;&nbsp;</font></td>
    <td ><input type="text" name="telephone"   /></td>
  </tr>
  <tr>
    <td ><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Mobile :</font></td>
    <td ><input type="text" name="mobile" /></td>
  </tr>
  <tr>
    <td height="26" ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Departement 
      :&nbsp;&nbsp;</font></td>
    <td ><input type="text" name="departement" /></td>
  </tr>
  <tr>
    <td ><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Main Project:&nbsp;</font></td>
    <td ><input type="text" name="main_project" /></td>
  </tr>
  <tr>
    <td ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Manager :&nbsp;&nbsp;&nbsp;</font></td>
    <td ><input type="text" name="manager" /></td>
  </tr>
  <tr>
    <td ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">*Adresse 
      E-Mail :&nbsp;&nbsp;&nbsp; </font></td>
    <td ><input type="text" name="mail" size="40" /></td>
  </tr>
  <tr>
    <td >*Login</td>
    <td ><input type="text" name="login_user" /></td></tr>
     <tr>
    <td >*Password</td>
    <td ><input type="password" name="pass_user" /></td></tr>
  <tr>
    <td ><input type="hidden" name="valider" value="non"/></td>
    <td ><input type="submit" name="OK" value="Envoyer" />
      <input  type="reset" name="effacer" value="Effacer" /></td>
  </tr>
</table></form>
* champ obligatoire</td></tr></table>
</body>
</html>
Miss kouka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 11h18   #14
Futur Membre du Club
 
Femme kaoutar
Stagiaire
Inscription : août 2009
Messages : 148
Détails du profil
Informations personnelles :
Nom : Femme kaoutar
Localisation : France

Informations professionnelles :
Activité : Stagiaire
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 148
Points : 16
Points : 16
j'ai trouvé ou douvient l'erreur j'ai modifié mon code comme ci dessous
Code :
1
2
3
4
5
6
7
8
9
if( $_POST['mail']=='' or $_POST['login_user']==''  or $_POST['pass_user']==''   or $_POST['name']=='' ){
echo'<script laguage="\javascript"\> alert("remplir tous les champs");</script>';
include("inscription.php");exit;}
 else if ((!preg_match($regex, $mail))){  
 
 
echo'<script language="javascript">alert("Vérifiez vos informations"); </script>'; 
 include("inscription.php");exit; 
}
quand je met une autre page dans include il m'affiche qu'un seul message d'alert mais quand je met la page inscription dans include il m'affiche deux alert alors l'erreur c'est dans la page inscription voila le code

inscription.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<style type="text/css">
body {
	background-color: #000;
}
body,td,th {
	color: #FFF;
}
</style>
 
 
 
<body>
<table width="796" align="center" >
<tr>
  <td width="1" height="38">&nbsp;</td>
  <td width="780" align="center" bgcolor="#000000"><?php include('header_v.php');?></td>
  <td width="8" ></td>
</tr>
<tr><td></td><td></td><td></td></tr>
<tr><td height="36" colspan="3" ></td></tr><form action="auth.php" method="post">
<table width="280" border="0" align="center" >
  <tr>
    <td colspan="2" ><div align="center" ><strong>Authentification</strong></div></td>
  </tr>
  <tr>
    <td width="126" height="24"><img src="images/pass-oublier.gif" width="17" height="19" /> Login</td>
    <td width="144"><input name="login_user" type="text"  /></td>
  </tr>
  <tr>
    <td height="24"><img src="images/pass-oublier.gif" width="17" height="19" /> Password</td>
    <td><input type="password" name="pass_user" /></td>
  </tr>
  <tr>
    <td height="26">&nbsp;&nbsp;&nbsp;  <input type="submit" name="button"  value="Valider" /></td>
    <td><p>
      <input type="reset" name="button2" value="Annuler" />
      </p></td>
  </tr>
  <tr>
    <td >&nbsp;<a href="inscription.php"><strong>*s'inscrire</strong></a></td>
    <td >&nbsp;<strong><a href="passoublier.php">&nbsp;*pass oubli&eacute;</a></strong></td></tr>
</table></form>
</table></body></html>
N'hésitez pas de m'aider
Miss kouka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 11h20   #15
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 773
Points : 2 332
Points : 2 332
C'est ce que je t'avais dit plus haut, tu as un souci avec ton include. Il doit y en avoir un en trop ( du coup la page se charge deux fois donc deux messages ) ou alors tu as un problème au niveau de tes tests, qui se relancent "automatiquement" lors du rechargement de la page.
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 11h28   #16
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
voici le principe que j'utilise : "FORMULAIRE ET TRAITEMENT sur la même page"
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
<?php // FORMULAIRE ET TRAITEMENT sur la meme page
// ------------------------
// initialisation
$validFormulaire 	= 0;
$MsgValidation 		= '';
$MsgErreurChamps	= '';
// ------------------------
// traitement du formulaire si envoyé
if (isset($_POST['envoiformulaire'])
{
	// -----------------------------------------
	// 1- RECUPERATION DES DONNEES DU FORMULAIRE
	// -----------------------------------------
	$data1 			= $_POST['data1'];
	$data2 			= $_POST['data2'];
	// [...]
	// -----------------------------------------
	// 2- (OBLIGATOIRE) : GESTION des ERREURS
	// -----------------------------------------
	// Expression régulière pour vérifier qu'aucun en-tête n'est inséré dans les champs
	$regex_head = '/[\n\r]/';
	// pas de header dans les champs text */
	if(preg_match($regex_head, $data1) || preg_match($regex_head, $data2)) {
		$MsgErreurChamps .= 'Entêtes interdites dans les champs du formulaire !<br />';
		$validFormulaire 	= 2;
	}
	// champs obligatoires
	if ($data1=='' || $data2=='') {
		if ($data1=='') {	$MsgErreurChamps .= 'Champ obligatoire : data1<br />'; }
		if ($data2=='') {	$MsgErreurChamps .= 'Champ obligatoire : data2<br />'; }
		$validFormulaire 	= 2;
	}
	// AUTRES TEST -> validation email, ...
	// [...]
	// fin des tests
	if ($validFormulaire!=2) { $validFormulaire = 1 ; }
	// -----------------------------------------
	// 3- TRAITEMENT - ENREGISTREMENT en BdD
	// -----------------------------------------
	if ($validFormulaire==1)
	{
		// PROTECTION contre injection SQL (si ENREGISTREMENT en BdD)
		$data1 		= mysql_real_escape_string($data1);
		$data2 		= mysql_real_escape_string($data2);
		// [...]
		// ENREGISTREMENT en BdD : INSERT ou UPDATE ou DELETE (en fonction de la demande)
		// [...]
		// ENVOI EMAIL ?
		// [...]
		// si tout s'est bien passé
		$MsgValidation 		= 'tout s\'est bien passé';
	} // fin du traitement
	unset($_POST);
} // fin si formulaire si envoyé
?>
 
<!-- DEBUT DU CODE HTML -->
<html>
<head>
	<!-- ... -->
</head>
<body>
	<!-- ... -->
 
<?php if ($validFormulaire==1) { // MESSAGE SI TRAITEMENT OK ?>
	<p><?php echo $MsgValidation; ?></p>
<?php } elseif ($validFormulaire==2) { // MESSAGE SI ERREUR ?>
	<p><?php echo $MsgErreurChamps; ?></p>
<?php } ?>
 
<?php if ($validFormulaire!=1) { // 1ER AFFICHAGE, ou SI ERREUR : ON AFFICHE LE FORMULAIRE ?>
<!-- (FACULTATIF) : GESTION des ERREURS du formulaire en javascript (onsubmit) -->
	<script type="text/javascript" src="./js/validFormulaire.js"></script><!-- ce fichier contient la fonction de validation validFormulaire() -->
 
<!-- FORMULAIRE -->
	<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onsubmit="validFormulaire();">
		<!-- ... -->
		<input type="submit" name="envoiformulaire" value="envoyer" />
	</form>
 
<?php } // fin affichage formulaire ?>
 
<!-- ... -->
<!-- FIN DU CODE HTML -->
</body>
</html>
... What Else ? ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/08/2011, 11h38   #17
Futur Membre du Club
 
Femme kaoutar
Stagiaire
Inscription : août 2009
Messages : 148
Détails du profil
Informations personnelles :
Nom : Femme kaoutar
Localisation : France

Informations professionnelles :
Activité : Stagiaire
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 148
Points : 16
Points : 16
t as raison @FirePrawn mais j'ai bien verifié ma page et je ne trouve aucun erreur

merci jer62 mais avec ton tritement je dois refaire beucoup des choses et j'avais pas le temps je dois resolu le probleme le plutot possible
Miss kouka 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 10h53.


 
 
 
 
Partenaires

Hébergement Web