Formulaire php erreur

Résolu
JBen -  
 Utilisateur anonyme -
Bonjour,

Voila j'ai un problème quand j'exécute ce code :

<html>
<head>
<title> TP PHP</title>
</head>
<body>
<?php

if(!isset($_POST['Nom']) OR !isset($_POST['Prenom']) OR !isset($_POST['Adresse']) OR !isset($_POST['Pseudo']) OR !isset($_POST['Pass']) OR !isset($_POST['Connaitre'])){
echo'erreur';
}
else{

$Nom=$_POST["Nom"];
$Prenom=$_POST["Prenom"];
$Adresse=$_POST["Adresse"];
$Pseudo=$_POST["Pseudo"];
$Mdp=$_POST["Mdp"];
$Connaitre=$_POST["Connaitre"];

// Connexion au serveur MySQL
$db=mysql_connect("localhost","root","")or die("Erreur de connexion au serveur");

// Connexion à la base devillersbdd
mysql_select_db("devillersbdd",$db)or die ("Erreur de connexion à la base devillersbdd");

// Requête Ajout de la personne créé dans le formulaire
$MonSql="INSERT INTO inscription(Nom, Prenom, Adresse, Pseudo, Mdp, Connaitre) VALUES(':Nom',':Prenom',':Adresse',':Pseudo',':Mdp',':Connaitre')";

// Envoie de la requête
mysql_query($MonSql);

// Fermeture de la connexion
mysql_close($db);

// Message de confirmation
echo("Votre inscription est bien enregistrée. <br />");

}
?>
</body>
</html>

devillersbdd est le nom de ma Base de donnée, est-ce que je dois remplacer $db par $devillersbdd ?

Quand j'éxécute ce code le message d'erreur est : erreur

8 réponses

Résumé de la discussion

Un script PHP destiné à enregistrer les données d’un formulaire dans une base MySQL échoue et affiche une erreur générale, faute de validations POST correctes et d’un essai d’insertion malformé. Des incohérences surviennent, notamment le test !isset($_POST['Pass']) alors que le champ s’appelle Mdp, et une requête INSERT qui écrit ':Nom' et autres comme des chaînes au lieu d’utiliser les variables. D'autres éléments soulignent que l’affichage d’erreurs est lié à l’absence de données envoyées, et que les valeurs apparaissent dans la base uniquement lorsque le formulaire transmet effectivement les champs attendus via POST.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. Profil bloqué
     
    Hum...

    Ton message erreur correspond à ton premier if. Une de tes variables n'est pas définie. Je pense qu'il doit s'agir de $_POST['pass'] car je vois que tu as écrit un peu plus bas $_POST['mdp'].

    T'ais-je assez éclairé ?

    Cdt,
    0
  2. Templier Nocturne Messages postés 9989 Statut Membre 1 107
     
    ajoute ça :
    echo $_POST['Nom'].'<br/>';
    echo $_POST['Prenom'].'<br/>';;
    echo $_POST['Adresse'].'<br/>';;
    echo $_POST['Pseudo'].'<br/>';;
    echo $_POST['Pass'].'<br/>';;
    echo $_POST['Connaitre']; 


    avant ta chaine de isset, et regarde lesquels manqent
    0
    1. Profil bloqué
       
      J'ai mieux ! Remplace ton début par

      if(!isset($_POST['Nom'])) { echo ' erreur : nom'; }
      if(!isset($_POST['Prenom'])) { echo ' erreur : prenom'; }
      if(!isset($_POST['Adresse'])) { echo ' erreur : adresse'; }
      if(!isset($_POST['Pseudo'])) { echo ' erreur : pseudo'; }
      if(!isset($_POST['Pass'])) { echo ' erreur : pass'; }
      if(!isset($_POST['Connaitre']) { echo ' erreur : connaitre'; }
      else{

      Et là ça sera encore plus clair ! ;)

      Cdt,
      0
  3. JBen
     
    J'ai fait ce que t'as dit varaldi mais je reçois sa :

    Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\inscription.php on line 15

    Mais je vois pas ou est l'erreur de syntax :s
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. JBen
     
    Ah si c'est bon par contre j'ai ce message d'erreur là :

    erreur : nom erreur : prenom erreur : adresse erreur : pseudo erreur : pass erreur : connaitre
    0
  6. Freedomsoul
     
    C'est normal, c'est parce que les variable sont définies lors de la validation de ton formulaire, d'ou la condition: !isset et l'instruction qui s'affiche
    0
  7. JBen
     
    Ouais mais dans ma base de données les lignes créent sont vides :s
    0
  8. Freedomsoul
     
    ça c'est une erreur dans ta requete, vérifie les majuscules !

    $MonSql="INSERT INTO inscription(Nom, Prenom, Adresse, Pseudo, Mdp, Connaitre) VALUES("'.$Nom.'","'.$Prenom.'","'.$Adresse.'","'.$Pseudo.'","'.$Pass.'","'.$Connaitre.'",)";

    PS: le pass doit être crypté pour plus de sécurité : md5($Pass)
    0
    1. Profil bloqué
       
      Si tu as toutes ces erreurs c'est normal !
      Ca veut simplement dire (comme l'a dit freedomsoul de manière ultra succinte) que tes variables n'existent pas !
      Tu as probablement tu créer un formulaire renvoyant sur la page actuelle.
      Ce formulaire contient probablement les champs nom, adresse, etc.
      Je pense que tu les a mal orthographié (oubli des majuscules ou autre).

      Si tu veux plus d'infos, donnes nous le code de ton formulaire !

      Cdt,
      0
    2. bastar911
       
      C'est bien expliquer.. mais vous voyez bien qu'il est entrain d'actualiser la page de reception alors qu' il n'a envoyée aucune donnée !!!!
      0
    3. Profil bloqué
       
      Hum...

      Mdr ! En effet, si tu n'envoies pas de données, tu n'auras jamais autre chose que ces erreurs, qui veulent précisément dire qu'aucune donnée n'est envoyée !
      0
    4. JBen
       
      Donc j'en envoie comment ? :s
      0
    5. Utilisateur anonyme
       
      salut,
      depuis ton formulaire.
      0