Sa ne s'enregistre pas dans la BDD

Résolu
Bonjour, j'ai un probleme avec ma BDD

Enfaite hier avant de me coucher, tout allait nikel.

et ce matin je voulais retourner au travail, et sa ne marchait pas.

voici mon code.

<form method="post" action="registo11.php">

<font face="Trebuchet MS, Arial, Helvetica, sans-serif" color="#0099FF"><b>Nom:</b></font><br/>

<input type="text" name="nom"/><br/>

<font face="Trebuchet MS, Arial, Helvetica, sans-serif" color="#0099FF"><b>Pseudo:</b></font><br/>

<input type="text" name="login"/><br/>
<font face="Trebuchet MS, Arial, Helvetica, sans-serif" color="#0099FF"><b>Mot de passe</b></font><br/>

<input type="password" name="mdp"/><br/>

<font face="Trebuchet MS, Arial, Helvetica, sans-serif" color="#0099FF"><b>Repéter mot de passe:</b></font><br/>

<input type="password" name="mdpc"/><br/>
<font face="Trebuchet MS, Arial, Helvetica, sans-serif" color="#0099FF"><b>Email:</b></font><br/>

<input type="text" name="email"/>

<br/><br/>
<center>
<input type="image" class="boutton" src="images/submitbouttonregister.png"/>
</center>
</form>

<?php
if($_POST && $mdpf == $mdp2f)

{

mysql_connect("localhost","root","");
mysql_select_db("membresenr");

$nomef=($_POST['nom']);
$loginf=($_POST['login']);
$emailf=($_POST['email']);
$mdpf=($_POST['mdp']);
$mdp2f=($_POST['mdpc']);


mysql_query("INSERT INTO membres VALUES (' ','$nomef','$loginf','$mdpf','$mdp2f') or die (mysql_error()");
echo"<font color=\"#FF6600\"><b>Enregistré correctement.</b></font>";

}
else
{
echo"<font color=\"red\"><b>ATTENTION:</b></font><br/><br/>
<b>Il y a eut une erreur, les mots de passe que vous avez rentré ne sont pas égaux
</b>";	
}
?>


En sachant que j'ai une BDD appelé "membresenr"
Une table appelé "membres"

et puis 5 champs: "id","nom","pseudo","motdepasse","email"

______________________________________

Je fais sa en local, et avec Easyphp 5.3.0 ( ao cas ou le probleme ne vient pas de mon script )

Mercii :D
Configuration: Windows Vista Internet Explorer 7.0

13 réponses

  1. bonsoir,

    un peu plus précis : ça fonctionne chez vous et pas au boulot ?
    ai-je bien compris ?

    commencez par vérifier la connexion à la base de données, login et mot de passe.

    sinon mettez des echos de temps en temps dans le srcipt pour savoir exactement ce qui ne va pas.
    0
    1. "et ce matin je voulais retourner au travail" je voulais dire que je voulais continuer a creer mon site en local :D

      Le login et le mot de passe, sont bons, comme je code en local avec easyphp
      le mot de passe et le login par defaut sont: localhost, root, et il n'y a pas de mot de passe.

      jusque maintenant sa allait bien avec ces coordonnées mais plue maintenant, et je suis bloqué je ne peux plue rien faire si sa ne marche pas :/
      0
      1. je comprends mieux, je copie ton code et je teste
        0
    2. en début du php il faut rajouter

      $mdpf=$_POST['mdp'];
      $mdp2f=$_POST['mdpc'];

      enfin chez moi il y a un mot de passe pour mysql dans la version 5.3 de php qui en standard est mysql

      ensuite je mets :

      $query =" INSERT INTO membres VALUES ('0','".$nomef."','".$loginf."','".$mdpf."','".$mdp2f."')" ;
      $result=mysql_query($query);


      // Vérification du résultat
      // Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
      if (!$result) {
      $message = 'Requête invalide : ' . mysql_error() . "\n";
      $message .= 'Requête complète : ' . $query;
      die($message);
      }

      echo"<font color=\"#FF6600\"><b>Enregistré correctement.</b></font>";
      0
      1. quel est le message d'erreur ?
        0
        1. Il n'y a pas de message d'erreur, c'est sa le probléme.
          Tout se passe correctement, sa di que sa c'est enregistré, sa ne me retourne aucun message d'erreur...
          Mais qand je vais voir dans la BDD il n'y a que les anciens enregistrements que j'avais fait.

          A partir de ce matin, plus aucun s'enregistre.
          0
      2. il y a toujours un mot de passe pour la abse de données avec easyphp 5

        mon résultata ici : https://www.cjoint.com/?msrevKtrk5
        0
        1. "Votre fichier de configuration fait référence à l'utilisateur root sans mot de passe, ce qui correspond à la valeur par défaut de MySQL. Votre serveur MySQL est donc ouvert aux intrusions, et vous devriez corriger ce problème de sécurité."

          Pourquoi moi j'ai pas de mot de passe?
          :D
          0
        2. @Fashne l'as-tu pas enlevé ?
          les anciennes versions de easyphp n'en avaient pas

          le pb de mot de passe n'est pas crucial puisqu'il semble que tu arrives à te connecter.
          le souci serait plustôt côté requête
          0
      3. pour ce test j'ai créé :

        membres
        Champ Type Null Défaut Commentaires
        id int(11) Non
        nom varchar(32) Non
        pseudo varchar(16) Non
        motdepasse varchar(16) Non
        email varchar(128) Non

        Aucun index n'est défini!--

        J-L
        0
        1. id int(11) Non

          il faut configurer ta table avec
          id int(11) Non  autoincrement


          et le mettre ebn clé primaire
          et de plus tu n'as mis aucune trace d'erreur donc tu ne peux pas avoir d'erreur s

          et verifies aussi que dans ton php.ini tu ait display_error=on
          0
          1. oui pour la clé primaire mais j'ai créé un table spécialment pour ce test et l'ayant fait avec un seul enregistrement, je n'ai pas eu de soucis.
            n'oublie pas que sa base exsite
            0
            1. Je l'ai mis en clé primaire, mais sa n'allait pas aussi....

              ( je ne connais pas tout en php, j'ai que 16 ans et ce que j'ai appris c'est google qui m'a appris :D )

              Et puis, j'ai rajouté:

              or die (mysql_error());

              Maintenant sa marche :D

              Mais si je l'enleve sa ne marche pas ....
              Decidément, je ne comprends pas...
              0
              1. bonsoir,
                il serait intéressant de voir le code qui va bien pour t'expliquer?. C'st sans doute un problème de if else...
                0