Insert dans une base de donnée
marcber
Messages postés
124
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
voici mon code PHP pour une page register qui permet au gens de s'inscrire et d'envoyer les donnée dans ma base de donnée (utilisateur et mot de passe)
mais quand on veux s'inscrire il me dit tj veuillez compléter les champ .... apparament il n'insert rien
mais quand on veux s'inscrire il me dit tj veuillez compléter les champ .... apparament il n'insert rien
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
if(isset($_POST['submit']))
{
$username = htmlspecialchars(trim($_POST['username']));
$password = htmlspecialchars(trim($_POST['password']));
$repeatpassword = htmlspecialchars(trim($_POST['repeatpassword']));
if($username&&$password&&$repeatpassword)
{
if(strlen($username)>=4)
{
if(strlen($password)>=6)
{
if($password==$repeatpassword)
{
$db=mysql_connect("votredomaine.com.mysql", "nom d'utilisateur", "mot de passe");
mysql_select_db("base de données", $db);
//$password =md5($password);
$sql = "INSERT INTO users ('', 'username','password') VALUES ('$username ', '$password ')";
mysql_query($sql,$db);
die('Inscription terminée. Vous pouvez vous <a href="login.php">connecter</a>');
}
else echo "Les mots de passe ne sont pas identiques";
}
else echo "Le mot de passe est trop court! min 6 caractères";
}
else echo "Le nom d'utilisateur est trop court! min 4 caractères";
}
else echo "Veuillez saisir tous les champs!";
}
?>
<title>Inscription</title>
<h1>Inscription</h1>
<form method="POST" action="register.php">
<p>Votre nom d'utilisateur</p>
<input type="text" name "username">
<p>Votre mot de passe</p>
<input type="password" name "password">
<p>Répétez votre mot de passe</p>
<input type="password" name "repeatpassword"><br><br>
<input type="submit" name="submit" value="valider">
</form>
<a href="login.php">Je possède déjà un compte</a>
A voir également:
- Insert dans une base de donnée
- Base de registre - Guide
- Touche insert - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Disk boot failure insert system disk and press enter - Guide
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
10 réponses
Bonjour
Il te manque un "=" entre name et "username" et "password"
Donc tes champs n'ont pas de nom, donc dans ton analyse tu ne les retrouves pas.
Tu t'en serais rapidement rendu compte si tu avais fait un
<input type="text" name "username"> ... <input type="password" name "password">
Il te manque un "=" entre name et "username" et "password"
Donc tes champs n'ont pas de nom, donc dans ton analyse tu ne les retrouves pas.
Tu t'en serais rapidement rendu compte si tu avais fait un
print_r ($_POST)au début de ton script pour voir ce que le formulaire te renvoyait.
merci pour votre réponse
j'ai corrigé mais la base de donnée ne se rempli pas
la page inscription terminée vous pouvez vous connecter mais je n'ai rien dans la bas de donnée
j'ai corrigé mais la base de donnée ne se rempli pas
la page inscription terminée vous pouvez vous connecter mais je n'ai rien dans la bas de donnée
Pour diagnostiquer, modifie ton mysql_query comme ça :
mysql_query($sql,$db) or die (mysql_error());
il me mets ceci comme message
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''','username','password') VALUES (admin,963963)' at line 1
ma version MariaDB est
Software version: 5.5.38-MariaDB-1~wheezy - mariadb.org binary distribution
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''','username','password') VALUES (admin,963963)' at line 1
ma version MariaDB est
Software version: 5.5.38-MariaDB-1~wheezy - mariadb.org binary distribution
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En effet, il y a une grosse erreur
Dans les parenthèses, il devrait y avoir des noms de champs. Ton premier champ n'a donc pas de nom ?
Remplace par
INSERT INTO users ('', 'username','password')...
Dans les parenthèses, il devrait y avoir des noms de champs. Ton premier champ n'a donc pas de nom ?
Remplace par
INSERT INTO users ('username','password')...
Tu confonds.
Tu peux mettre une valeur vide dans VALUES pour correspondre à un champ auto incrémenté dont tu as donné le nom dans la liste des champs.
Mais mettre un nom de champ vide, ça n'a jamais rien voulu dire
Autrement dit, tu peux écrire :
ou
mais en aucun cas
Tu peux mettre une valeur vide dans VALUES pour correspondre à un champ auto incrémenté dont tu as donné le nom dans la liste des champs.
Mais mettre un nom de champ vide, ça n'a jamais rien voulu dire
Autrement dit, tu peux écrire :
INSERT INTO users (id, 'username','password') VALUES ('','$username ', '$password ')
ou
INSERT INTO users ( 'username','password') VALUES ('$username ', '$password ')
mais en aucun cas
INSERT INTO users ('', 'username','password') VALUES ('$username ', '$password ')
désolé de vous ennuyer comme ca
j'ai pris cette option
$sql="INSERT INTO users (id,'username','password') VALUES ('','$username','$password')";
et j'ai denouveau un message error
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''username','password') VALUES ('','admin','123123')' at line 1
j'ai pris cette option
$sql="INSERT INTO users (id,'username','password') VALUES ('','$username','$password')";
et j'ai denouveau un message error
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''username','password') VALUES ('','admin','123123')' at line 1
je reviens vers vous j'ai réussis a faire ce que je voulait en grande partie grace a vous merci bcp
la dernière phrase j'ai fait la requete sql dans phpadmin et je l'ai transformer en langage php et elle fonctionne
pour info la voici
$sql = "INSERT INTO `users`(id,`username`, `password`) VALUES ('','$username','$password')";
encore un grand merci et bonne fin de journée
la dernière phrase j'ai fait la requete sql dans phpadmin et je l'ai transformer en langage php et elle fonctionne
pour info la voici
$sql = "INSERT INTO `users`(id,`username`, `password`) VALUES ('','$username','$password')";
encore un grand merci et bonne fin de journée
Tu gagnerais beaucoup de temps (et moi aussi) si tu faisais l'effort d'apprendre les langages au lieu de demander aux autres d'écrire à ta place.
Tu as copié-collé, la requête, mais ce site transforme les accents graves ( ` ) en apostrophes ( ' ). Or, il ne faut pas d'apostrophes autour des noms de champs, mais des accents graves. Comme ces accents graves sont optionnels dans la plupart des cas, autant ne rien mettre du tout.
Attention, j'ai bien dit autour des noms de champs. Pas autour des valeurs. Ne reviens pas avec une erreur parce que tu as supprimé les apostrophes autour des valeurs.
Tu as copié-collé, la requête, mais ce site transforme les accents graves ( ` ) en apostrophes ( ' ). Or, il ne faut pas d'apostrophes autour des noms de champs, mais des accents graves. Comme ces accents graves sont optionnels dans la plupart des cas, autant ne rien mettre du tout.
Attention, j'ai bien dit autour des noms de champs. Pas autour des valeurs. Ne reviens pas avec une erreur parce que tu as supprimé les apostrophes autour des valeurs.