Problème: les données ne vont pas sur la bdd

Résolu/Fermé
Utilisateur anonyme - 1 oct. 2009 à 18:47
 Utilisateur anonyme - 1 oct. 2009 à 21:43
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.

3 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
1 oct. 2009 à 21:04
bonsoir, met ce code :
echo mysql_error().'<br />';

sous la ligne:
mysql_query("INSERT INTO news VALUES('','" . $pseudo . "','" . $password . "','" . $email . "')"); 

refais un test d'inscription et regarde si tu as une erreur qui s'affiche.

Bonne soirée
0
Utilisateur anonyme
1 oct. 2009 à 21:37
Nico merci de ta réponse et je vais la tester pour voir se que sa fait, mais j'ai modifier quelque petite chose avant de voir ton message et mon code marche.
Je vais poster mon nouveau code source pour trouver de quoi sa vient et donc pas mettre tout de suite le sujet en résolu ou alors créer un nouveau sujet.
Merci!
0
Utilisateur anonyme
1 oct. 2009 à 21:43
<?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("$bdd");
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 == "")
{
{
$nomdudossier = $_POST['pseudo'];
mkdir("fichiers/$nomdudossier");
}
mysql_query("INSERT INTO inscription VALUES('','" . $pseudo . "','" . $password . "','" . $email . "')");
echo "<font style=\"color:green;\">Vous êtes a present inscrit !</font><br />";
}
else
{
echo "<font style=\"color:red;\">Des erreurs se sont produite :<br/> ".$erreur. "</font><br />";
}
}
?>
</body>
</html>
0