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

PHP & Base de données Discussion :

vérification champs formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 13
    Points
    13
    Par défaut vérification champs formulaire
    Bonjour,
    J'ai réaliser un formulaire pour l'ajout d'un nouveau contrat et voici la formulaire
    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
    <form name="contrat" method="post" action="">
    <table width="440" border="0">
      <tr>
        <td width="125">Nom entreprise </td>
        <td width="299"><input name="nome" type="text" style="font-family:Courier New;font-size:12px"/></td>
      </tr>
      <tr>
        <td>R&eacute;f&eacute;rence kiosque </td>
        <td><input name="refk" type="text" style="font-family:Courier New;font-size:12px" /></td>
      </tr>
      <tr>
        <td>Date début location</td>
        <td><input type="text" id="nom_champs_date" style="font-family:Courier New;font-size:12px" name="nom_champs_date" value=""><a href="javascript:popupwnd('calendrier.php?idcible=nom_champs_date&langue=fr','no','no','no','yes','yes','no','50','50','450','280')" target="_self"><img src="calendrier.gif" id="Image1" alt="" align="top" border="0" style="width:26px;height:26px;"></a></td>
      </tr>
        <tr>
        <td>Date fin location</td>
        <td><input type="text" id="nom_champs_date2" style="font-family:Courier New;font-size:12px" name="nom_champs_date" value=""><a href="javascript:popupwnd('calendrier.php?idcible=nom_champs_date2&langue=fr','no','no','no','yes','yes','no','50','50','450','280')" target="_self"><img src="calendrier.gif" id="Image1" alt="" align="top" border="0" style="width:26px;height:26px;"></a></td>
      </tr>
        <tr>
        <td>Prix</td>
        <td><input name="prix" type="text" style="font-family:Courier New;font-size:12px"/></td>
      </tr>
         <tr>
        <td><input name="verifier" type="submit" value="v&eacute;rifier"/></td>
        <td>&nbsp;</td>
      </tr> 
    </table>
     
    </form>
    lorsque je clique sur verifier le code php suivant s'exécute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    if (isset($_POST['verifier']))
    {
    include ("connexion.php");
    $nom=$_POST['nome'];
    $req= "select nom_sct from entreprise where nom_sct= $nom ";
    $res= mysql_query($req) ;
    if (!$res) {
       echo "Could not successfully run query ($req) from DB: " . mysql_error();
      }
    if (mysql_num_rows($res) == 0) {
       echo "No rows found, nothing to print so am exiting";}
    }
    ?>
    L'exécution marche mais avec l'affichage de certains erreur, voilà ce que sera affiché lorsque le nom de l'entreprise n'existe pas
    Could not successfully run query (select nom_sct from entreprise where nom_sct= ) from DB: Erreur de syntaxe pr�s de '' � la ligne 1
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\Program Files\EasyPHP-5.3.1\www\hbs\contrat.php on line 11
    No rows found, nothing to print so am exiting

    Merci de m'aider à résoudre ce problème .

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu as oublié l'echappement et les guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req= "select nom_sct from entreprise where nom_sct='". mysql_real_escape_string($_POST['nome']) ."'";
    ta variable $nom ne sert a rien.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Points : 192
    Points
    192
    Par défaut
    Salut,

    Avant d'envoyer ta requête il faut que tu teste si ta variable $_POST['nome'] existe.
    Si le champ dans ton formulaire n'est pas renseigné, la variable $_POST['nome'] n'existe pas d'où ton erreur.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour

    En plus de l'existence je pense qu'il serait bon de vérifier
    Que le champs correspond à tes attentes (nombre caractère ou un contrôle en expression régulière)
    et rajouter une sécurité pour les caractères spéciaux ' ",... du type addslashes() ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérification champ formulaire Paypal
    Par poupou19 dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2012, 15h39
  2. Vérification champs formulaire
    Par ljuboja78 dans le forum Langage
    Réponses: 2
    Dernier message: 15/07/2009, 15h40
  3. Réponses: 8
    Dernier message: 26/05/2009, 12h18
  4. Vérification champs formulaire
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/04/2008, 09h12
  5. Réponses: 5
    Dernier message: 12/07/2005, 17h04

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