Probleme de requete d'insertion php

Résolu
houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   -  
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai ce code en php
<?php
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$fonction=$_POST['fonction'];
$mail=$_POST['adresse_email'];
$tel=$_POST['tel'];
$pw=$_POST['pw'];
$c=mysql_pconnect("localhost","root","");
$db=mysql_select_db("info leader");
$rsql="select max(num) from client";
$res=mysql_query($rsql);
$cod=mysql_fetch_object($res);
$cod++;
settype($nom,"string");
settype($prenom,"string");
//settype($fonction,"string");
settype($mail,"string");
settype($tel,"string");
settype($pw,"string");
$rsql="INSERT INTO client (num, nom, prenom, mail, tel, password, fonction) VALUES ($cod, $nom, $prenom, s$mail, $tel, $pw, $fonction)";
$res=mysql_query($rsql);

?>

il m'indique qu'il y a une erreur dans la requete d'insertion
Configuration: Windows XP
Firefox 3.0.3

20 réponses

  1. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Ha je viens de voir ca :

    $res=mysql_query($rsql);
    $cod=mysql_fetch_object($res);
    $cod++;

    remplace plutot par

    $res=mysql_query($rsql);
    $ligne=mysql_fetch_array($res);
    $cod=$ligne[0];
    $cod++;
    1
    1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      wé c cool merci amigo
      0
    2. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      mais il me reste le champ pw c toujours vide
      0
  2. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    $rsql = "insert into client values('$cod','$nom','$prenom','$mail','$tel','$pw','$fonction')";
    1
    1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      wé c vrai je l'ai nommé $pw
      0
    2. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      j'ai une autre chose si sa te dérange pas
      je veu afficher le contenu de mon listbox pas le numero de l'index
      0
  3. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Alors faut que tu modifies les "value" des options de ton select dans ton formulaire, parce que cest ca qui est envoyé, et pas le texte qui est compris entre les balises "<option>" et "</option>"
    1
  4. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    Sur tes POST mets des addslashes déjà ca peut aider.
    Puis sinon bin fais un echo de ta requete et exécute la dans phpMyAdmin, t'aura un message + explicite.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. xXPika74Xx Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   13
     
    $rsql="INSERT INTO client (num, nom, prenom, mail, tel, password, fonction) VALUES ($cod, $nom, $prenom, s$mail, $tel, $pw, $fonction)";

    il y a pas un petit s en trop ici juste avant le $mail?? ;)
    0
  7. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    ben plutot remplace ta ligne de mysql_query par

    $res=mysql_query($rsql) or die(mysql_error());
    0
  8. drantd Messages postés 102 Statut Membre 20
     
    Bonjour,

    Essai avec des guillemets autour des variables dans VALUE( ), enlève le S devant $Mail
    0
    1. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
       
      "Essai avec des guillemets autour des variables dans VALUE( ), enlève le S devant $Mail"

      Pas des guillemets, mais des apostrophes
      0
  9. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
     
    voici l'erreur qu'il m'affiche
    Catchable fatal error: Object of class stdClass could not be converted to string et il m'indique au requete d'insertion c'est vrai j'ai ajouter un s devant $mail mais le même erreur est afficher
    0
  10. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
     
    c vrmt inormal j'ai utiliser wamp au début il m'a afficher l'erreur que j'ai indiquer au début mais mnt j'ai changer easyphp et il m'a afficher sa

    Notice: Undefined index: nom in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 10

    Notice: Undefined index: prenom in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 11

    Notice: Undefined index: fonction in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 12

    Notice: Undefined index: adresse_email in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 13

    Notice: Undefined index: tel in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 14

    Notice: Undefined index: pw in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 15

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\info leader\verif.php on line 20
    Erreur de syntaxe pr�s de ''info leader'.'client' (num, nom, prenom, mail, tel, password, f' � la ligne 1
    0
  11. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
     
    0
  12. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
     
    aidez moi svp ma requete d'insertion est fausse
    0
  13. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Ben oui si tes POST n'existent pas ca parait logique que ca marche pas ....
    0
  14. xXPika74Xx Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   13
     
    A tu essayer de mettre des echo pour voir si tes variable était iniatiliser correctement ou si elle renvoyait une valeur vide??
    0
    1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      il m'affiche rien avec echo
      0
      1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   > houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
         
        alors le prob est dans les post
        0
  15. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Est ce qu'on pourrait avoir la page qui appelle celle-ci ?
    si les POST n'existent pas ca doit venir de la page précédente
    0
    1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      voila le html:
      <html>
      <head>
      <title> inscription </title>

      <link rel=stylesheet href="css/nivsecmp.css" type="text/css" media=screen>
      <script src="js/js.js" type="text/javascript"></script>

      <script>
      function evalPwd(s)
      {
      var cmpx = 0;

      if (s.length >= 6)
      {
      cmpx++;

      if (s.search("[A-Z]") != -1)
      {
      cmpx++;
      }

      if (s.search("[0-9]") != -1)
      {
      cmpx++;
      }

      if (s.length >= 8 || s.search("[\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]") != -1)
      {
      cmpx++;
      }
      }

      if (cmpx == 0)
      {
      document.getElementById("weak").className = "nrm";
      document.getElementById("medium").className = "nrm";
      document.getElementById("strong").className = "nrm";
      }
      else if (cmpx == 1)
      {
      document.getElementById("weak").className = "red";
      document.getElementById("medium").className = "nrm";
      document.getElementById("strong").className = "nrm";
      }
      else if (cmpx == 2)
      {
      document.getElementById("weak").className = "yellow";
      document.getElementById("medium").className = "yellow";
      document.getElementById("strong").className = "nrm";
      }
      else
      {
      document.getElementById("weak").className = "green";
      document.getElementById("medium").className = "green";
      document.getElementById("strong").className = "green";
      }
      }
      //fonction pour vérifier si le numero de teléphone possède des caractère alphabétique
      function numerique(x)
      {
      if(isNaN(x)==true)
      {
      alert('Numero de Tel doit etre numérique')

      }
      }

      //fonction d'obliger l'utilisateur à cocher une case de formulaire avant de continuer son inscription


      function ChangeStatut(inscri)
      {
      if(window.document.inscri.terme.checked == true)

      window.document.inscri.submit.disabled = false

      else

      window.document.inscri.submit.disabled = true

      }

      //vérification mail
      function VerifForm(formulaire)
      {
      adresse = formulaire.adresse_email.value;
      var place = adresse.indexOf("@",1);
      var point = adresse.indexOf(".",place+1);
      if ((place > -1)&&(adresse.length >2)&&(point > 1))
      {
      formulaire.submit();
      return(true);
      }
      else
      {
      alert('Entrez une adresse e-mail valide!!');
      return(false);
      }
      }

      </script>
      </head>

      <body background="fond inscription.jpg" leftmargin="50" >

      <div align="center">
      <blockquote>  </blockquote>
      </div>
      <blockquote><p align="center"><br>
      <br>
      </p>
      </blockquote>
      <form name="inscri" action="verif.php" methed="get" onSubmit="return(VerifForm(this))">

      <p align="center"><b><i>Nom * : </i></b>
      <input name="nom" size=10>
      <br>
      <br>
      <b><b><i>Prénom * : </i></b>
      <input name="prenom" size=10>
      <br>
      <br>
      <b><i>Fonction :</i></b>
      <select name="fonction">
      <option value=0> </option>
      <option value=1>Etudiant </option>
      <option value=2>Employé </option>
      </select>
      </b></p>
      <p align="center"><b>e-mail:
      <label>
      <input type="text" name="adresse_email" id="mail" >
      </label>
      <label></label>
      <br>
      <br>
      <b><i>Téléphone : </i></b>
      <label>
      <input type="text" name="tel" id="tel" onBlur="numerique(this.value)">
      </label>
      <br>
      <br>
      <i>Mot de passe * :</i></b>
      <input name="pw" type=password onKeyUp="evalPwd(pw.value);" size=10 maxlength=8>
      </p>
      <p align="left"> Niveau de sécurité de votre mot de passe : </p>
      <div id="sm">

      <div align="center">
      <ul>
      <li id="weak" class="nrm">Faible</li>
      <li id="medium" class="nrm">Moyen</li>
      <li id="strong" class="nrm">Fort</li>
      </ul>
      </div>
      </div>
      <div align="center"><br>
      <br>
      <b><i>Lire cela !!!</i></b>
      <textarea name=motivation cols=100 rows="6" row=100 >
      La validation de ce formulaire emporte consentement aux Conditions d’Utilisation du Service ainsi qu’à notre centre!
      Données personnelles, qui précise les modalités du droit d’accès et de rectification dont vous bénéficiez.
      La validation de ce formulaire emporte également consentement à la collecte, au stockage et à l’utilisation des informations figurant sur ce formulaire.
      </textarea>
      <br>
      <br>
      <input type="checkbox" name="terme" value="confirm" onClick="ChangeStatut(inscri)" >
      <i>J’ai lu et approuvé les Conditions d’utilisation de ce Compte</i>

      <br>
      <br>
      <input type=submit name="submit" value=Envoyer disabled />
      <input type=reset name="reset" value=Effacer>
      <br>
      </div>
      </form>
      </body>
      </html>
      0
      1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   > houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
         
        et voici le php:

        <?php
        $nom=$_GET['nom'];
        $prenom=$_GET['prenom'];
        $fonction=$_GET['fonction'];
        $mail=$_GET['adresse_email'];
        $tel=$_GET['tel'];
        $pw=$_GET['pw'];
        //echo $nom. "<br>";
        //echo $prenom. "<br>";
        //echo $fonction. "<br>";
        //echo $mail. "<br>";
        //echo $tem. "<br>";
        //echo $pw. "<br>";
        $c=mysql_pconnect("localhost","root","");
        $db=mysql_select_db("info leader");
        $rsql="select max(num) from client";
        $res=mysql_query($rsql);
        $cod=mysql_fetch_object($res);
        $cod++;
        settype($nom,"string");
        settype($prenom,"string");
        settype($fonction,"string");
        settype($mail,"string");
        settype($tel,"string");
        settype($pw,"string");
        $rsql = "insert into client values($cod,$nom,$prenom,$mail,$tel,$password,$fonction)";
        $res=mysql_query($rsql) or die(mysql_error());
        if($res)
        echo "bravo";
        else
        echo "pas encore";
        ?>
        0
  16. xXPika74Xx Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   13
     
    <form name="inscri" action="verif.php" methed="get" onSubmit="return(VerifForm(this))">

    Ici ce n'est pas methed mais method

    essaye pour voir ;)

    0
    1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      le même probleme REQUETE D'INSERTION
      0
  17. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    method="post" pas get !

    ha non dsl javais pas vu que tavais modifier ta page de traitement aussi XD
    0
  18. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    "Le même probleme REQUETE D'INSERTION"

    Heu ca taffiche une erreur ?
    laquelle ?
    0
    1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      Catchable fatal error: Object of class stdClass could not be converted to string
      0
  19. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Heu tes erreurs viennent de tes settype

    ils ne servent à rien, par contre il faut que tu mettes des ' autour des tes values lors de l'insert :

    $rsql = "insert into client values('$cod','$nom','$prenom','$mail','$tel','$password','$fonction')";
    0
    1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      même probleme
      0
  20. xXPika74Xx Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   13
     
    Tout les donnee a ajouter sont elle de type texte??? sa pourrait être une des erreurs

    essaye ta formule comme ceci:

    $rsql = "insert into client values('" . $cod . "','" . $nom . "','" . $prenom . "','" . $mail . "','" . $tel . "','" . $password . "','" . $fonction . "')";
    0
    1. houba80 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
       
      oui ils sont tout de type texte
      j'ai essayer ta requete mais sa va pas marcher
      0
  21. xXPika74Xx Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   13
     
    Pourquoi tjrs le même message d'erreur??

    fait un echo de ta requète et copie nous ce qu'il en ressort svp sa sera plus simple pour voir le problème
    0