Formulaire php erreur
Résolu
JBen
-
Utilisateur anonyme -
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
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.
-
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, -
-
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-
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,
-
-
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
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
-
-
ç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)-
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, -
-
-
-
-