Rien ne s'écrit dans ma base de donnés mysql

tomadu67 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Alors quand je rentre tout comme il faut dans le formulaire rien ne s'écrit dans ma base mysql s.V.P. aidez moi moi voici mon code.


<?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($password==$repeatpassword)
{
if(strlen($password)>4)
{
$connect=mysql_connect('localhost','root','');
mysql_select_db('phplogin');
$reg = mysql_db_query("phplogin","INSERT INTO test VALUES('','$username','$password','$repeatpassword')");
die('Inscription terminée');
}else echo"Votre mot de passe est trop court";
}else echo"Vos mots de passe ne sont pas identiques";
}else echo "Veuillez saisir tous les champs";
$bdd = bd ();
}
?>
<html>
<head>
<title>CraftYourFaction/Accueil</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id=conteneur3>
<div id=header>
</div>
<div id=conteneur>
<div id=registeur>
<form method="POST" action="register.php">
<p>Votre pseudo en-jeu: </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>
</div>
</div>
<div id=footeur>
</div>
</div>
</body>
</html>
A voir également:

3 réponses

tomadu67 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Le problème reste le même mais j'ai réussi a corrigez une erreur le code est celui-ci maintenant

<?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($password==$repeatpassword)
{
if(strlen($password)>4)
{
$connect=mysql_connect('localhost','root','');
mysql_select_db('phplogin');

$reg = mysql_query("INSERT INTO test VALUES('','$username','$password','$repeatpassword')");
die('Inscription terminée');
}else echo"Votre mot de passe est trop court";

}else echo"Vos mots de passe ne sont pas identiques";
}else echo "Veuillez saisir tous les champs";
$bdd = bd ();
}
?>
<html>
<head>
<title>CraftYourFaction/Accueil</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id=conteneur3>
<div id=header>
</div>
<div id=conteneur>
<div id=registeur>
<form method="POST" action="register.php">
<p>Votre pseudo en-jeu: </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>
</div>
</div>
<div id=footeur>
</div>
</div>
</body>
</html>
0
galou00 Messages postés 642 Date d'inscription   Statut Membre Dernière intervention   80
 
Je n'ai pas testé ton code, mais je modifierais l'exécution de ta requête comme suit :
$sql = 'INSERT INTO test VALUES("","'$username'","'$password'","'$repeatpassword'")';  
$reg = mysql_query($sql);   

Tu y verras plus clair si tu sépares en 2 parties.
De plus, si ton serveur est bien configuré, tu devrais avoir des erreurs de type "sql error" par exemple...
0
tomadu67 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai testé ce que tu m'as envoyez mais cela m'indique une erreur a la ligne VALUES("","'$username'","'$password'","'$repeatpassword'")';
Parse error: syntax error, unexpected '$username' (T_VARIABLE) in C:\Program Files\EasyPHP-12.0\www\register.php on line 18
0
galou00 Messages postés 642 Date d'inscription   Statut Membre Dernière intervention   80
 
essaie comme ça...
$sql = 'INSERT INTO test VALUES("","'.$username.'","'.$password.'","'.$repeatpassword.'")';  
0
tomadu67 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai essayer mais je revient à la même erreur.
0
potierb1982 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   1
 
Affiche le contenu des trois variables dans des echo pour voir.
Et ajoute la liste des champs cible avant le VALUES.
0
galou00 Messages postés 642 Date d'inscription   Statut Membre Dernière intervention   80
 
...et si ça ne fonctionne toujours pas, teste ta requête avec des valeurs en dur directement dans PHPmyadmin pour savoir d'où vient l'erreur. Normalement, une erreur de type Parse error n'est pas la plus importante, c'est juste un problème de " ; " oublié ou de " . " pour la concaténation...
Si ta requête fonctionne en dur dans phpmyadmin, retourne dans ton code php, execute ta requête en dur dans ton php, et si ça fonctionne, remplace une par une les valeurs en dur par tes variables. Il y aura bien un moment où ça va bloquer... ou pas d'ailleurs.
0
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   80
 
$sql = "INSERT INTO test VALUES ('','".$username."','".$password."','".$repeatpassword."')";  


inverse les quotes

et comme dis plus haut, il faudrait mettre le nom des champs avant values
0