Création utilisateur dans espace membre

Fermé
Ballou16 Messages postés 3 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 12 mai 2013 - Modifié par Chris 94 le 11/05/2013 à 17:06
Ballou16 Messages postés 3 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 12 mai 2013 - 12 mai 2013 à 13:13
Bonjour,
J'essaie de créer mon espace membre. J'ai crée l'index.php avec le formulaire à remplir

Voici mabase :
1. ID_Utilisateur, clef primaire auto incrémentée de type int
2. Nom_Utilisateur de type varchar représentant le nom d'utilisateur du visiteur
3. Mot_de_Passe de type varchar représentant le mot de passe de l'utilisateur
4. Adresse_Email de type varchar représentant l'adresse e-mail du visiteur
5. Date_Inscription de type int représentant le timestamp de la date d'inscription
6. Compte_Active de type enum nous informera si le compte est actif ou non
7. Clef_Activation de type varchar représentera la clef permettant d'activer le compte utilisateur


Ma page d'accueil :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[PHP] Créer un espace membre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p>
<a href="creer-compte-utilisateur.php">Créer un compte utilisateur</a>
</p>
</body>
</html>


ensuite j'ai creer ma formulaire d'inscription :
<?php

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{

// Formulaire visible par défaut
$masquer_formulaire = false;

// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{

// Vérification confirmation mot de passe
if($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
{
$message = "Votre mot de passe n'a pas été correctement confirmé";
}

else
{

// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "monmdp");
mysql_select_db("mabase");

// Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
$result = mysql_query("
SELECT Nom_Utilisateur
, Adresse_Email
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
OR Adresse_Email = '" . $_POST["TB_Adresse_Email"] . "'
");

// Si une erreur survient
if(!$result)
{
$message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
}
else
{

// Si un enregistrement est trouvé
if(mysql_num_rows($result) > 0)
{

while($row = mysql_fetch_array($result))
{

if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
{
$message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
$message .= "est déjà utilisé";
}
elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
{
$message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
$message .= "est déjà utilisée";
}

}

}
else
{

// Génération de la clef d'activation
$caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$caracteres_aleatoires = array_rand($caracteres, 8);
$clef_activation = "";

foreach($caracteres_aleatoires as $i)
{
$clef_activation .= $caracteres[$i];
}

// Création du compte utilisateur
$result = mysql_query("
INSERT INTO Comptes_Utilisateurs(
Nom_Utilisateur
, Mot_de_Passe
, Adresse_Email
, Date_Inscription
, Clef_Activation
)
VALUES(
'" . $_POST["TB_Nom_Utilisateur"] . "'
, '" . md5($_POST["TB_Mot_de_Passe"]) . "'
, '" . $_POST["TB_Adresse_Email"] . "'
, '" . time() . "'
, '" . $clef_activation . "'
)
");

// Si une erreur survient
if(!$result)
{
$message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
}
else
{

// Envoi du mail d'activation
$sujet = "Activation de votre compte utilisateur";

$message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
$message .= "[http://]" . $_SERVER["SERVER_NAME"];
$message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
$message .= "&clef=" . $clef_activation;

// Si une erreur survient
if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
{
$message = "Une erreur est survenue lors de l'envoi du mail d'activation<br />\n";
$message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
}
else
{

// Message de confirmation
$message = "Votre compte utilisateur a correctement été créer<br />\n";
$message .= "Un email vient de vous être envoyer afin de l'activer";

// On masque le formulaire
$masquer_formulaire = true;

}

}

}

}

}

// Fermeture de la connexion à la base de données
mysql_close();

}

}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[PHP] Créer un espace membre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<form action="creer-compte-utilisateur.php" method="post">
<p>
Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
</p>
<p>
Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
</p>
<p>
Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
</p>
<p>
Adresse e-mail : <input type="text" name="TB_Adresse_Email" />
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<?php } ?>
</body>
</html>


Mais quand je verifie si cela marche une erreur s'affiche "Erreur d'accès à la base de données lors de la création du compte utilisateur".


D'où vient l'erreur ?? SVP aide moi snifffffff
A voir également:

3 réponses

Kaldoran Messages postés 137 Date d'inscription mercredi 31 octobre 2012 Statut Membre Dernière intervention 21 juin 2015 29
12 mai 2013 à 02:11
Bonsoir ,


A mon avis tu as une erreur dans cette partie la :
a cause des " qui se trouve dedans C.f : texte en gras
$result = mysql_query("
INSERT INTO Comptes_Utilisateurs(
Nom_Utilisateur
, Mot_de_Passe
, Adresse_Email
, Date_Inscription
, Clef_Activation
)
VALUES(
'" . $_POST["TB_Nom_Utilisateur"] . "'
, '" . md5($_POST["TB_Mot_de_Passe"]) . "'
, '" . $_POST["TB_Adresse_Email"] . "'
, '" . time() . "'
, '" . $clef_activation . "'
)
");

Par exempke ici autour de TB_Mot_de_Passe tu as des doubles quotes qui referme la requetes Sql ici , autrement dit une parti n'est pas prise en compte ..
0
Ballou16 Messages postés 3 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 12 mai 2013
12 mai 2013 à 13:13
j'ai remplacé avec ceci mais même erreur ??? que dois je faire ??? sniffffff cela fait 2j que je ne bouge pas à trouver l'erreur !
0
Ballou16 Messages postés 3 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 12 mai 2013
12 mai 2013 à 13:13
$result = mysql_query("
INSERT INTO 'fofifa1'.'inscription'(
Nom_Utilisateur
, Mot_de_Passe
, Adresse_Email
, Date_Inscription
, Clef_Activation
)
VALUES(
" . $_POST["TB_Nom_Utilisateur"] . "
, " . md5($_POST["TB_Mot_de_Passe"]) . "
, " . $_POST["TB_Adresse_Email"] . "
, " . time() . "
, " . $Clef_Activation . "
)
");
0