Probleme formulaire base de donnée

footballpronos Messages postés 5 Statut Membre -  
 footballpronos -
Bonjour,

quelqu'un pourrez me dire pourquoi mon formulaire n'envoie pas les informations sur ma base de donnée ?

<html>
<body>
<form action="edit1.php" method="post">
pseudo : <input type="text" name="pseudo"><br>
passe : <input type="text" name="passe"><br>
H ou F : <input type="text" name="sexe"><br>
date de naissance : <input type="text" name="naissance_jour">- <input type="text" name="naissance_mois">-<input type="text" name="naissance_annee"><br>
Equipe de ligue 1 prefere: <input type="text" name="equipe_prefere"><br>
Equipe de ligue 1 deteste: <input type="text" name="equipe_deteste"><br>
Ville: <input type="text" name="ville"><br>

<input type="submit" name="ok" value="valider"><br>
</form>
</body>
</html>
<?php
$sql_bdd=mysql_connect("XXXXXXXXXXXXXXXXXX","XXXXXXXXXXXX","XXXXXXXXXXXXXX");
mysql_select_db("XXXXXXXXXXXXXX");

$requete=mysql_db_query($sql_bdd,"select max(id_membre) from membre",$sql_bdd) or die(mysql_error());
$time=date("d-m-Y");
//recuperation des name
$idmax=mysql_result($requete,0,"max(id_membre)");
$id_membre=$idmax+1;
$date_inscription=$time;
$logo="logo/$equipe_prefere.gif";
$pseudo=$_POST['pseudo'];
$passe=$_POST['passe'];
$email=$_POST['email'];
$sexe=$_POST['sexe'];
$naissance_jour=$_POST['naissance_jour'];
$naissance_mois=$_POST['naissance_mois'];
$naissance_annee=$_POST['naissance_annee'];
$equipe_prefere=$_POST['equipe_prefere'];
$equipe_deteste=$_POST['equipe_deteste'];
$ville=$_POST['ville'];
$photo="$pseudo.jpg";
$relance1='oui';
$relance2='oui';
$ip=$_SERVER["REMOTE_ADDR"];
$arrete='non';

if ('$ok')
{
$ok=mysql_db_query("XXXXXXXXXXXX","INSERT INTO membre (id_membre,id,date_inscription, logo, pseudo,passe,sexe,email, naissance_jour, naissance_mois, naissance_annee, equipe_prefere, equipe_deteste, ville, photo, relance1, relance2, ip,arrete) VALUES
('$id_membre','$id', '$date_inscription', '$logo', '$pseudo','$passe','$sexe','$email','$naissance_jour','$naissance_mois', '$naissance_annee', '$equipe_prefere', '$equipe_deteste', '$ville', '$photo', '$relance1', '$relance2', '$ip','$arrete' )");

echo"<div align='center'>";
echo"<font face='Verdana' size='3' >votre inscription est pris en compte!</font>";
echo"</div>";
}
?>

1 réponse

Résumé de la discussion

Plusieurs échanges portent sur un formulaire HTML dont les données ne parviennent pas à la base de données via une instruction PHP, ce qui empêche l’inscription d’un utilisateur et l’enregistrement des champs. Des réponses identifient des erreurs fréquentes: absence de vérification de l’envoi ($_POST), utilisation incorrecte de if ('$ok') au lieu de if (isset($_POST['ok'])), et des requêtes SQL sans gestion des erreurs. D’autres conseils suggèrent d’imprimer $_POST pour déboguer, d’ajouter or die(mysql_error()) après les requêtes, et de corriger les noms de champs comme email qui ne figurent pas dans le formulaire. En pratique, certains proposent aussi de vérifier que les données sensibles sont présentes, d’utiliser des paramètres pour éviter injection, et de valider le succès de l’insertion avec mysql_affected_rows().

Bobot (l'IA à votre service)
  1. Thorak83 Messages postés 1140 Statut Membre 156
     
    Bonjour,

    C'est normal car $ok n'ai pas défini et ne contient rien

    faire à la place de

    if ('$ok')

    if (isset($_POST['ok'])

    Cordialement
    0
    1. footballpronos
       
      merci thorak83,

      je l'ai ajouter mais cela ne marche toujours pas une autre proposition ??
      0
    2. footballpronos
       
      il me signale une erreur au premier " { " de mon code :
      if ('$ok')

      if (isset($_POST['ok'])

      {

      $ok = mysql_db_query("db471703168","INSERT INTO membre (id_membre,id,date_inscription, logo, pseudo,passe,sexe,email, naissance_jour, naissance_mois, naissance_annee, equipe_prefere, equipe_deteste, ville, photo, relance1, relance2, ip,arrete) VALUES
      ('$id_membre','$id', '$date_inscription', '$logo', '$pseudo','$passe','$sexe','$email','$naissance_jour','$naissance_mois', '$naissance_annee', '$equipe_prefere', '$equipe_deteste', '$ville', '$photo', '$relance1', '$relance2', '$ip','$arrete' )");

      echo"<div align='center'>";
      echo"<font face='Verdana' size='3' >votre inscription est pris en compte!</font>";
      echo"</div>";
      }
      ?>
      0
    3. footballpronos
       
      aie aie aie

      personne a une idée sur mon problème....
      allez SVP un ptit effort
      merci d'avance
      0
    4. Thorak83 Messages postés 1140 Statut Membre 156
       
      Oups il manque une parenthèse

      if (isset($_POST['ok']))
      0
    5. footballpronos
       
      ok ok pas grave cela arrive
      bon voila mon script apres rectif cela marche toujours pas ...
      <html>
      <body>
      <form action="edit1.php" method="post">
      pseudo : <input type="text" name="pseudo"><br>
      passe : <input type="text" name="passe"><br>
      H ou F : <input type="text" name="sexe"><br>
      date de naissance : <input type="text" name="naissance_jour">- <input type="text" name="naissance_mois">-<input type="text" name="naissance_annee"><br>
      Equipe de ligue 1 prefere: <input type="text" name="equipe_prefere"><br>
      Equipe de ligue 1 deteste: <input type="text" name="equipe_deteste"><br>
      Ville: <input type="text" name="ville"><br>

      <input type="submit" name="ok" value="valider"><br>
      </form>
      </body>
      </html>
      <?php
      $sql_bdd=mysql_connect("....................","..................","....................");
      mysql_select_db("...................");

      $requete=mysql_db_query($sql_bdd,"select max(id_membre) from membre",$sql_bdd) or die(mysql_error());
      $time=date("d-m-Y");
      //recuperation des name

      $idmax=mysql_result($requete,0,"max(id_membre)");
      $id_membre=$idmax+1;
      $date_inscription=$time;
      $logo="logo/$equipe_prefere.gif";
      $pseudo=$_POST['pseudo'];
      $passe=$_POST['passe'];
      $email=$_POST['email'];
      $sexe=$_POST['sexe'];
      $naissance_jour=$_POST['naissance_jour'];
      $naissance_mois=$_POST['naissance_mois'];
      $naissance_annee=$_POST['naissance_annee'];
      $equipe_prefere=$_POST['equipe_prefere'];
      $equipe_deteste=$_POST['equipe_deteste'];
      $ville=$_POST['ville'];
      $photo="$pseudo.jpg";
      $relance1='oui';
      $relance2='oui';
      $ip=$_SERVER["REMOTE_ADDR"];
      $arrete='non';

      if (isset($_POST['ok']))

      {

      $ok = mysql_db_query("....................","INSERT INTO membre (id_membre,id,date_inscription, logo, pseudo,passe,sexe,email, naissance_jour, naissance_mois, naissance_annee, equipe_prefere, equipe_deteste, ville, photo, relance1, relance2, ip,arrete) VALUES
      ('$id_membre','$id', '$date_inscription', '$logo', '$pseudo','$passe','$sexe','$email','$naissance_jour','$naissance_mois', '$naissance_annee', '$equipe_prefere', '$equipe_deteste', '$ville', '$photo', '$relance1', '$relance2', '$ip','$arrete' )");

      echo"<div align='center'>";
      echo"<font face='Verdana' size='3' >votre inscription est pris en compte!</font>";
      echo"</div>";
      }
      ?>
      0