Probleme: les données ne vont pas sur la bdd

Résolu/Fermé
Utilisateur anonyme - 1 oct. 2009 à 18:50
 Utilisateur anonyme - 1 oct. 2009 à 21:48
Bonjour,
J'ai crée un code source pour un formulaire d'inscription sur mon site, le code s'exécute normalement jusqu'au moment ou il doit envoyer les données sur la base de donnée. J'ai fait un teste pour voir si il n'y a que cette partie qui bug (après l'envoi sur la bdd j'ai mis une redirection et elle s'exécuter) et il m'a montrer que seul cette parti buger.
Si dessous le code source:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
label
{
display:block;
width:200px;
float:left;
}
</style>
</head>
<body>
<fieldset>
<legend>Inscription</legend>
<form action="inscription.php" method="post">
<fieldset>
<legend>Identifiants</legend>
<label for="pseudo">Votre pseudo :</label><input type="text" name="pseudo" id="pseudo"/><br/>
<label for="password">Votre code secret :</label><input type="password" name="password" id="password" /><br/>
<label for="confirm">Répétez votre code :</label><input type="password" name="confirm" id="confirm"/>
</fieldset><br />
<fieldset>
<legend>Sécurité</legend>
<label for="email">Votre adresse mail :</label><input type="text" name="email" id="email" /><br/>
<label for="anti_bot">Anti bot :<img src="Anti-bot/Generateur-image-anti-bot.php" id="anti_bot1" alt="Code de vérification"/></label><input type="text" name="anti_bot" id="anti_bot"/><br/>
</fieldset>
<center>
<input type="submit" value="S'inscrire"/>
</center>
</form>
</fieldset>
<?php
include("includes/connexion-bdd.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
if (isset($_POST['pseudo']) AND isset($_POST['password']) AND isset($_POST['confirm']) AND isset($_POST['email']) and isset($_POST['anti_bot']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$password = mysql_real_escape_string(htmlspecialchars($_POST['password']));
$confirm = mysql_real_escape_string(htmlspecialchars($_POST['confirm']));
$email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
$anti_bot = mysql_real_escape_string(htmlspecialchars($_POST['anti_bot']));
$erreur="";
if ($pseudo=="")
{
$erreur=$erreur." Vous devez inscrire un pseudo<br/>";
}
if ($password =="")
{
$erreur=$erreur." Vous devez entrer un mot de passe<br/>";
}
else
{
if ($confirm =="")
{
$erreur=$erreur." Vous devez confirmer le mot de passe<br/>";
}
else
{
if ($password != $confirm)
{
$erreur=$erreur." Le mot de passe et la comfirmation sont différent<br/>";
}
}
}
if ($email =="")
{
$erreur=$erreur." Vous devez indiquer un email<br/>";
}
if ($anti_bot =="")
{
$erreur=$erreur." Vous devez remplir l'anti bot<br/>";
}
else
{
if ($anti_bot != ($_SESSION['anti_bot_nombre']))
{
$erreur=$erreur." Le code anti bot est faut<br/>";
}
}
if ($erreur=="")
{
mysql_query("INSERT INTO news VALUES('','" . $pseudo . "','" . $password . "','" . $email . "')");
echo "<script language=\"javascript\" type=\"text/javascript\">
<!--
window.location.replace(\"https://www.google.fr/?gws_rd=ssl\");
-->
</script>";
}
else
{
echo "<font style=\"color:red;\">Des erreurs se sont produite :<br/> ".$erreur. "</font><br />";
}
}
?>
</body>
</html>

c'est tout merci de m'aider.

2 réponses

Squad-G Messages postés 66 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 25 octobre 2010 5
Modifié par baladur13 le 23/10/2010 à 13:27
Change ta requête par :

mysql_query('INSERT INTO news VALUES ("", "'.$pseudo.'", "'.$password.'", "'.$email.'") ') or die(mysql_error()); 


Dit moi l'erreur, sinon, si ton ("", au début va dans ID, tu devrais mettre ceci :
mysql_query('INSERT INTO news VALUES (NULL, "'.$pseudo.'", "'.$password.'", "'.$email.'") ') or die(mysql_error()); 


Et utilise ' au lieu de " tu utilise moins de ressource au niveau de PHP, car " gère l'exécution de variable et demande plus de puissance...
Signature non conforme ==> Supprimée
Modération CCM
0
Utilisateur anonyme
1 oct. 2009 à 21:48
Je sais que c'est pas bien mais j'avait créer 2 sujets sur le même thème car je ne savais pas dans quel catégorie le mettre.
J'ai trouver la solution seul, en modifiant le code mais je ne sais pas comment j'ai fait pour le faire fonctionner.
Se sujet va être fermer et ci-dessous le lien pour l'autre sujet avec le nouveau code source et un nouvel question comment sa ce fait ?

https://forums.commentcamarche.net/forum/affich-14593982-probleme-les-donnees-ne-vont-pas-sur-la-bdd
0