IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] validation des données


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [PHP-JS] validation des données
    Bien que j'aie lu la FAQ et les tutoriels, je ne me débrouille pas pour valider les données d'un formulaire et envoyer les résultats du formulaire sur une autre page.
    Voici le code dans le <head>
    $msg="";
    if(isset ($_POST ['submit']))
    {
    if(!empty($nom) and !empty($prenom) and !empty($adresse) and !empty($cpostal) and !empty($ville) and !empty($email) and !empty($tel))
    {
    if(ereg('^.+@.+\\..+$', $email))
    {echo "<form action=\"proccess.php\" method=\"post\">";}
    else {$msg .= "Votre e-mail n'est pas valide.";}
    }
    else
    {$msg .= "Tous les champs obligatoires ne sont pas remplis.";}
    }
    ?>
    le reste est du html .
    un echo $msg dans une cellule pour les messages d'erreur et un echo $PHP_SELF dans le form action
    Il faut cliquer deux fois sur le bouton envoyer quand les champs sont bien renseignés pour que la page aille à proccess.php
    PS: c'est une page existante que je dois modifier en respectant si possible l'écriture du premier développeur.

    Merci pour le temps passé à me répondre

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    et qu'est ce qui marche pas dans ton code? ou bien qu'est ce q tu veux faire
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  3. #3
    Membre régulier Avatar de BGDC
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 102
    Points : 121
    Points
    121
    Par défaut
    Salut,

    Le pb vient du fait que lors du 1er affichage de ta page, tu n'a pas d'email valide et donc tu as tres peu de chance (pour par dire aucune) d'afficher ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="proccess.php" method="post">
    Verifie de ce coté, je pense que cette ligne devrait etre mis plus haut ds le code......

    Edit: Houla j'avais pas vu, c'est encore pire tu l'affiche qu'une fois que le formulaire est soumis......
    Bon allez, cette fois c'est sur, ça marche........bon aller je réessaye......

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par ouatmad
    et qu'est ce qui marche pas dans ton code? ou bien qu'est ce q tu veux faire
    Ce qui ne marche pas, c'est le fait de cliquer deux fois pour envoyer la page quand les champs sont remplis correctement.

    Ce que j'essaie de faire:
    1) valider les données
    Si elles ne sont pas valides, reaffichage du formulaire avec un message d'erreur placé précisément dans une cellule d'un tableau html
    2) envoyer le formulaire à proccess.php en cliquant normalement sur un btn submit

    Voilà !

  5. #5
    Membre régulier Avatar de BGDC
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 102
    Points : 121
    Points
    121
    Par défaut
    Et sinon tu as lu ma reponse ?
    Bon allez, cette fois c'est sur, ça marche........bon aller je réessaye......

  6. #6
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 53
    Points
    53
    Par défaut
    Bonsoir,
    J'ai peut être une solution pour toi.
    Tu peux aussi faire un contrôle grâce à javascript.
    Sa va envoyer un message à l'utilisateur en indiquant son oublie et pointant la zone de text en rouge.
    Tu as les champs nom et prénom de déjà fait il ne te reste plus qu'à rajouter d'autres champs.

    Bonne chance.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <script language="javascript">
    	function verifiercli()
    	{
    		var frm=document.forms[0];
    		if(frm.elements[0].value == "") 
    		{
    		   alert("Vous avez oublié le nom!");
    		   frm.elements[0].style.backgroundColor = "#FF0000";
    		   return false;
    		}
    		else if(frm.elements[1].value == "") 
    		{
    		   alert("Vous avez oublié le prénom!");
    		   frm.elements[1].style.backgroundColor = "#FF0000";
    		   return false;
    					}
     
    				return true;
    	}
    </script>

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par BGDC
    Salut,

    Le pb vient du fait que lors du 1er affichage de ta page, tu n'a pas d'email valide et donc tu as tres peu de chance (pour par dire aucune) d'afficher ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="proccess.php" method="post">
    Verifie de ce coté, je pense que cette ligne devrait etre mis plus haut ds le code......

    Edit: Houla j'avais pas vu, c'est encore pire tu l'affiche qu'une fois que le formulaire est soumis......

    Bonjour, j'ai bien lu ta réponse et j'ai essayé d'autres façons qui ne fonctionnent toujours pas.
    Un des essais a été de mettre process.php dans le form action du code html mais dans ce cas la page du formulaire passe en direct sans verifier les données.
    J'ai trouvé des scripts tout faits avec un champ caché mais ça bloque aussi. Dans l'exemple les infos sont envoyées dans une base de données.
    Ce que je voudrais faire si les données sont ok, allez à la page process
    Si les données ne sont pas valides, réafficher le formulaire .
    Je sens que cela ne doit pas être très compliqué mais ...
    Salut

Discussions similaires

  1. [PHP-JS] envoyer des données avec un boutton hidden
    Par moonia dans le forum Langage
    Réponses: 22
    Dernier message: 23/06/2006, 16h30
  2. Réponses: 4
    Dernier message: 12/06/2006, 17h05
  3. [PHP-JS] afficher des donnée php dans popup javascript
    Par speedylol dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/04/2006, 17h05
  4. [PHP-JS] Traitement des données dans une autre page...
    Par sekiryou dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2006, 09h06
  5. dbgrid AND validation des données
    Par samlerouge dans le forum Bases de données
    Réponses: 10
    Dernier message: 11/06/2004, 23h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo