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] verification de formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 49
    Par défaut [PHP-JS] verification de formulaire
    je voudrais faire une verification de formulaire mais ca ne marche pas et aussi l'enregistrement ne se fait pas dans la base de données.
    voici mon code je vaudrais que vous m'analysez ca pour voir si j'ai fait des erreurs quelques part ou si j'ai pas bien fait ca.
    merci, voici mon code :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
      include("connexion.php");
        $erreur=false;
        $message_erreur="";
     
    $nom=addslashes(trim($_POST['nom']); 								$prenom=addslashes(trim($_POST['prenom']; 		$mail=addslashes(trim($_POST['mail'];								$societe=addslashes(trim($_POST['societe'];		$pays=addslashes(trim($_POST['pays'];								$ville=addslashes(trim($_POST['ville'];								$message=addslashes(trim($_POST['message'];
     
    if((empty($_post['nom']))||(empty($_post['prenom']))||((empty($_POST['mail']))||((empty($_POST['pays']))||((empty($_post['message'])))
    {
      print("veuillez remplir tous les champs");
      if(strlen($_POST['nom'])=="0")
      {
        $erreur=true;
        $message_erreur="veuillez renseigner le nom";
      }
      if(strlen($_POST['prenom'])=="0")
      {
        $erreur=true;
        $message_erreur="veuillez reseigner le prenom";
      }
      if(strlen($_POST['societe']=="0")
      {
        $erreur=true;
        $message_erreur="veuillez renseigner la société";
      }
      if(strlen($_POST['message']=="0")
      {
        $erreur=true;
        $message_erreur="veuillez remplir le message";
      }
    }
    else
    {
      $req="INSERT INTO client(nom, prenom, e-mail, societe, pays, ville, message) VALUES('', '".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['e-mail']."', '".$_POST['societe']."', '".$_POST['pays']."', '".$_POST['ville']."', '".$_POST['message']."')";
      $ret=mysql_query($req);
    }
    ?>

  2. #2
    Membre éclairé Avatar de pioule
    Profil pro
    Inscrit en
    Août 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 66
    Par défaut
    Ta requête d'insertion est fausse : là tu essayes d'insérer 8 valeurs dans 7 champs :
    '' dans nom, $_POST['nom'] dans prenom, etc...

    En plus, tu fais des opérations sur ces données (addslashes et trim) dont tu ne te sers pas par la suite vu que tu travailles toujours sur les données qui proviennent de ton formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req="INSERT INTO client (nom, prenom, e-mail, societe, pays, ville, message) 
    VALUES ('".$nom."', '".$prenom."', '".$mail."', '".$societe."', '".$pays."', '".$ville."', '".$message."')";
    Autre point : $_post en majuscules

    Après les vérifications de formulaire je les fais en javascript, pour 2 raisons : économiser un chargement de page, et surtout ne pas avoir à gérer la récupération des valeurs saisies en cas d'erreur (vu que le formulaire n'est pas transmis avant que tout ne soit correct)

  3. #3
    Membre émérite
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Par défaut
    mets aussi strlen(...) == 0 au lieu de "0"

    et les vérifs en JS c'est pratique mais si l'utilisateur l'a désactivé, tu l'as dans le ...
    normalement, faut faire un site fonctionnel sans JS puis le rajouter pour rendre l'interface plus confortable
    Dia [ Page DVP ] [ Site pro ]

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    outre ce que les autres ont dit, j'aimerais ajouter autres choses:
    if(strlen($_POST['prenom'])=="0")
    le mode de control de la taille du champ n'est pas le meilleur, imagine que l'utilisateur saisissent ESPACE, ça passe
    entre autre, lorsque tu fais
    $req="INSERT INTO client(nom, prenom, e-mail, societe, pays, ville, message) VALUES('', '".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['e-mail']."', '".$_POST['societe']."', '".$_POST['pays']."', '".$_POST['ville']."', '".$_POST['message']."')";
    $ret=mysql_query($req);
    n'oublie pas d'ajouter a mysql_query, or die ("req=$ret".mysql_error())

Discussions similaires

  1. [MySQL] verification donnees formulaire php
    Par LiliValerie dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 19/01/2012, 19h45
  2. Verification de formulaire en php?
    Par hugo69 dans le forum Langage
    Réponses: 4
    Dernier message: 05/12/2006, 19h02
  3. verif de formulaire et boutons radio
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/02/2006, 22h42
  4. [PHP] PB sur les formulaires
    Par chaser_T dans le forum Langage
    Réponses: 6
    Dernier message: 10/01/2006, 06h35
  5. Réponses: 2
    Dernier message: 10/11/2005, 20h00

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