Espace membre chez Free
Fermé
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
-
5 sept. 2009 à 18:28
Gyder - 26 févr. 2012 à 21:03
Gyder - 26 févr. 2012 à 21:03
A voir également:
- Espace membre chez Free
- Espace insécable word - Guide
- Comment liberer de l'espace sur gmail - Guide
- Membre indisponible vinted - Guide
- Word 2013 free download - Télécharger - Traitement de texte
- Sketchup free - Télécharger - 3D
15 réponses
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
5 sept. 2009 à 18:35
5 sept. 2009 à 18:35
bonsoir,
le message dit qu'il le lien à la base n'a pu être établi.
vérifiez cette connexion avec le bon nom, le bon login et le bon mot de passe
avez vous fait un mysql_connect avant le mysql_select_db()
le message dit qu'il le lien à la base n'a pu être établi.
vérifiez cette connexion avec le bon nom, le bon login et le bon mot de passe
avez vous fait un mysql_connect avant le mysql_select_db()
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
5 sept. 2009 à 22:39
5 sept. 2009 à 22:39
Merci de ta réponse, quand tu dis: vérifiez cette connexion avec le bon nom, le bon login et le bon mot de passe, je ne sais pas ou il faut mettre un mots de passe et login dans le script, tu parle des identifiant de la base de donnés, si oui pourrait tu me dire ou les mettre, et ce que je dois remplacer dans ce script:
PS: si tu connais un script plus simple?
page index.php:
<!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>
page creer-compte-utilisateur.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 de la validité des champs
if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 4 caractères";
}
elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
{
$message = "Votre mot de passe n'a pas été correctement confirmé";
}
elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
$_POST["TB_Adresse_Email"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
// 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>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" 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>
<? } ?>
</body>
</html>
page: activer-compte-utilisateur.php
<?
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{
// Vérifie que de bonnes valeurs sont passées en paramètres
if(!ereg("^[0-9]+$", $_GET["id"]) || !ereg("^[a-f0-9]{8}$", strtolower($_GET["clef"])))
{
header("Location: index.php");
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT ID_Utilisateur
, Compte_Active
, Clef_Activation
FROM Comptes_Utilisateurs
WHERE ID_Utilisateur = '" . $_GET["id"] . "'
AND Clef_Activation = '" . strtolower($_GET["clef"]) . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de l'activation de votre compte utilisateur";
}
else
{
// Si aucun enregistrement n'est trouvé
if(mysql_num_rows($result) == 0)
{
header("Location: index.php");
}
else
{
// Récupération du tableau de données retourné
$row = mysql_fetch_array($result);
// Vérification que le compte ne soit pas déjà activé
if($row["Compte_Active"] != 0)
{
$message = "Votre compte utilisateur a déjà été activé";
}
else
{
// Activation du compte utilisateur
$result = mysql_query("
UPDATE Comptes_Utilisateurs
SET Compte_Active = '1'
WHERE ID_Utilisateur = '" . $_GET["id"] . "'
AND Clef_Activation = '" . strtolower($_GET["clef"]) . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de l'activation de votre compte utilisateur";
}
else
{
$message = "Votre compte utilisateur a correctement été activé";
}
}
}
}
// 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>
<p><?= $message; ?></p>
</body>
</html>
page connexion.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 de la validité des champs
if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 6 caractères";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la tentative de connexion";
}
else
{
// Si aucun utilisateur n'a été trouvé
if(mysql_num_rows($result) == 0)
{
$message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
}
else
{
// Récupération des données
$row = mysql_fetch_array($result);
// Si le compte n'a pas été activé
if($row["Compte_Active"] == 0)
{
$message = "Votre compte utilisateur n'a pas été activé";
}
else
{
// Vérification du mot de passe
if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
// Définition du temps d'expiration des cookies
$expiration =
empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
// Création des cookies
setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
// Fermeture de la connexion à la base de données
mysql_close();
// Redirection de l'utilisateur
header("Location: index.php");
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
}
?>
<html>
<head>
<title>[PHP] Créer un espace membre</title>
</head>
<body>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" 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>
<input type="checkbox" name="CB_Connexion_Automatique" />
Se connecter automatiquement à chaque visite
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<? } ?>
</body>
</html>
page deconnexion.php
<?
// Redirige l'utilisateur s'il n'est pas identifié
if(empty($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{
// Suppression des cookies
setcookie("ID_UTILISATEUR", "", time() - 1, "/");
setcookie("NOM_UTILISATEUR", "", time() - 1, "/");
// Redirection de l'utilisateur
header("Location: index.php");
}
?>
PS: si tu connais un script plus simple?
page index.php:
<!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>
page creer-compte-utilisateur.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 de la validité des champs
if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 4 caractères";
}
elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
{
$message = "Votre mot de passe n'a pas été correctement confirmé";
}
elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
$_POST["TB_Adresse_Email"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
// 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>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" 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>
<? } ?>
</body>
</html>
page: activer-compte-utilisateur.php
<?
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{
// Vérifie que de bonnes valeurs sont passées en paramètres
if(!ereg("^[0-9]+$", $_GET["id"]) || !ereg("^[a-f0-9]{8}$", strtolower($_GET["clef"])))
{
header("Location: index.php");
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT ID_Utilisateur
, Compte_Active
, Clef_Activation
FROM Comptes_Utilisateurs
WHERE ID_Utilisateur = '" . $_GET["id"] . "'
AND Clef_Activation = '" . strtolower($_GET["clef"]) . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de l'activation de votre compte utilisateur";
}
else
{
// Si aucun enregistrement n'est trouvé
if(mysql_num_rows($result) == 0)
{
header("Location: index.php");
}
else
{
// Récupération du tableau de données retourné
$row = mysql_fetch_array($result);
// Vérification que le compte ne soit pas déjà activé
if($row["Compte_Active"] != 0)
{
$message = "Votre compte utilisateur a déjà été activé";
}
else
{
// Activation du compte utilisateur
$result = mysql_query("
UPDATE Comptes_Utilisateurs
SET Compte_Active = '1'
WHERE ID_Utilisateur = '" . $_GET["id"] . "'
AND Clef_Activation = '" . strtolower($_GET["clef"]) . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de l'activation de votre compte utilisateur";
}
else
{
$message = "Votre compte utilisateur a correctement été activé";
}
}
}
}
// 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>
<p><?= $message; ?></p>
</body>
</html>
page connexion.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 de la validité des champs
if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 6 caractères";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la tentative de connexion";
}
else
{
// Si aucun utilisateur n'a été trouvé
if(mysql_num_rows($result) == 0)
{
$message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
}
else
{
// Récupération des données
$row = mysql_fetch_array($result);
// Si le compte n'a pas été activé
if($row["Compte_Active"] == 0)
{
$message = "Votre compte utilisateur n'a pas été activé";
}
else
{
// Vérification du mot de passe
if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
// Définition du temps d'expiration des cookies
$expiration =
empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
// Création des cookies
setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
// Fermeture de la connexion à la base de données
mysql_close();
// Redirection de l'utilisateur
header("Location: index.php");
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
}
?>
<html>
<head>
<title>[PHP] Créer un espace membre</title>
</head>
<body>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" 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>
<input type="checkbox" name="CB_Connexion_Automatique" />
Se connecter automatiquement à chaque visite
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<? } ?>
</body>
</html>
page deconnexion.php
<?
// Redirige l'utilisateur s'il n'est pas identifié
if(empty($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{
// Suppression des cookies
setcookie("ID_UTILISATEUR", "", time() - 1, "/");
setcookie("NOM_UTILISATEUR", "", time() - 1, "/");
// Redirection de l'utilisateur
header("Location: index.php");
}
?>
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
5 sept. 2009 à 23:07
5 sept. 2009 à 23:07
la base s'appelle bien asp-php ?
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
5 sept. 2009 à 23:10
5 sept. 2009 à 23:10
Ma Base s'appelle: miklnrj
Ma table: comptes_utilisateurs
Ma table: comptes_utilisateurs
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
5 sept. 2009 à 23:12
5 sept. 2009 à 23:12
alors pourquoi mettre :
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
ça cela veut dire je me connecte à la base qui s'appelle asp-php
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
ça cela veut dire je me connecte à la base qui s'appelle asp-php
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
5 sept. 2009 à 23:19
5 sept. 2009 à 23:19
Alors je remplace:
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
en:
mysql_connect("localhost", "root", "");
mysql_select_db("miklnrj");
doit -on mettre les identifiants et mots de passe de free dans le script?
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
en:
mysql_connect("localhost", "root", "");
mysql_select_db("miklnrj");
doit -on mettre les identifiants et mots de passe de free dans le script?
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
5 sept. 2009 à 23:27
5 sept. 2009 à 23:27
pour le remplacement du nom de la base OUI
localhost, root et rien c'est en général pour une connexion locale (pour tester avant de mettre enligne)
si vous mettez en ligne il est évident qu'il faut mettre les bon login et mot de passe.
comment voulez vous établir une connexion en ne donnant pas les bons codes ?
localhost, root et rien c'est en général pour une connexion locale (pour tester avant de mettre enligne)
si vous mettez en ligne il est évident qu'il faut mettre les bon login et mot de passe.
comment voulez vous établir une connexion en ne donnant pas les bons codes ?
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
5 sept. 2009 à 23:29
5 sept. 2009 à 23:29
Je ne comprend pas ou il faut mettre les code (identifiant et mots de passe)
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
5 sept. 2009 à 23:32
5 sept. 2009 à 23:32
et pour le remplacement du nom je mais le nom de la base ou de la table?
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
5 sept. 2009 à 23:37
5 sept. 2009 à 23:37
pour se connecter à une base de données on utilise :
mysql_connect("localhost", "root", ""); <- ça c'est pour une base locale en easyphp par exemple
si vous le faites chez free il est évident qu'il faut mettre le nom du serveur free avec les identifiants de connexion qui vus ont été donnée
localhost = nom du serveur
root = login
et ici "" veut pas de mot de passe
puis on sélectionne la base voulue (on peut en avoir plusieurs)
mysql_select_db("miklnrj");
miklnrj = nom de la base
ensuite on peut travailler.
comment vous ne savez pas où les mettre ? regardez dans le code que vous avez envoyé il y a :
/ Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
je vous explique avec une image
vous souhaitez rentrer chez vous mais vous n'avez que la clé du voisin.
comment voulez vous ouvrir votre porte ?
la bonne clé dna sla bonne porte et tout va mieux, non ?
mysql_connect("localhost", "root", ""); <- ça c'est pour une base locale en easyphp par exemple
si vous le faites chez free il est évident qu'il faut mettre le nom du serveur free avec les identifiants de connexion qui vus ont été donnée
localhost = nom du serveur
root = login
et ici "" veut pas de mot de passe
puis on sélectionne la base voulue (on peut en avoir plusieurs)
mysql_select_db("miklnrj");
miklnrj = nom de la base
ensuite on peut travailler.
comment vous ne savez pas où les mettre ? regardez dans le code que vous avez envoyé il y a :
/ Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");
je vous explique avec une image
vous souhaitez rentrer chez vous mais vous n'avez que la clé du voisin.
comment voulez vous ouvrir votre porte ?
la bonne clé dna sla bonne porte et tout va mieux, non ?
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
5 sept. 2009 à 23:42
5 sept. 2009 à 23:42
Merci, mysql_connect("localhost", "root", ""); je le modifie et je mé le mots de passe : "", mais pour localhost comme moi s'est sur free je marque quoi? , et root alors je marque miklnrj, c'est ca?
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
5 sept. 2009 à 23:46
5 sept. 2009 à 23:46
NON pas du tout
chez free c'est quelque chose comme ça :
mysql_connect("sql.free.fr";"xxx", "yyy");
xxx et yyy sont à remplacer par les codes qui vous ont été fournis par FREE.
chez free c'est quelque chose comme ça :
mysql_connect("sql.free.fr";"xxx", "yyy");
xxx et yyy sont à remplacer par les codes qui vous ont été fournis par FREE.
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
6 sept. 2009 à 00:02
6 sept. 2009 à 00:02
Mainteant il me mais 2 formulaire et il dit Erreur d'accès à la base de données lors de la vérification d'unicité
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
6 sept. 2009 à 00:27
6 sept. 2009 à 00:27
J'ai mis:(mais il me dit: Erreur d'accès à la base de données lors de la vérification d'unicité)
<?
// 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 de la validité des champs
if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 4 caractères";
}
elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
{
$message = "Votre mot de passe n'a pas été correctement confirmé";
}
elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
$_POST["TB_Adresse_Email"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("sql.free.fr", "miklnrj", "********");
mysql_select_db("miklnrj");
// 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>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" 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>
<? } ?>
</body>
</html>
<?
// 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 de la validité des champs
if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 4 caractères";
}
elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
{
$message = "Votre mot de passe n'a pas été correctement confirmé";
}
elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
$_POST["TB_Adresse_Email"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("sql.free.fr", "miklnrj", "********");
mysql_select_db("miklnrj");
// 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>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" 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>
<? } ?>
</body>
</html>
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
6 sept. 2009 à 00:31
6 sept. 2009 à 00:31
Personnelement il y a aider et aider.
Je te conseil un cms, parce que parti comme c' est, on va tout te faire du debut a la fin.
Il ne suffit pas de prendre des scripts tout fait en general pour que c amarche, il faut un minimum d econnaissances, surtout qu' ils bien souvent buggués et pleind e failles.
Va faire un tour sur le siteduzero.com
C' est parfait pour apprendre les bases.
Je te conseil un cms, parce que parti comme c' est, on va tout te faire du debut a la fin.
Il ne suffit pas de prendre des scripts tout fait en general pour que c amarche, il faut un minimum d econnaissances, surtout qu' ils bien souvent buggués et pleind e failles.
Va faire un tour sur le siteduzero.com
C' est parfait pour apprendre les bases.
homer59650
Messages postés
115
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
27 décembre 2010
7
6 sept. 2009 à 00:38
6 sept. 2009 à 00:38
Tu connais pas un tuto video?
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
6 sept. 2009 à 00:39
6 sept. 2009 à 00:39
Mais un tuto video pour quoi faire????
C' est le comble du j'ai-pas-envie-j'ai-trop-la-flemme-de-lire, le siteduzero explique comment faire, meme des gosses de 12 ans apprenent le php grace a eux, alors faut pas pousser mémé dans les orties.....quoique
C' est le comble du j'ai-pas-envie-j'ai-trop-la-flemme-de-lire, le siteduzero explique comment faire, meme des gosses de 12 ans apprenent le php grace a eux, alors faut pas pousser mémé dans les orties.....quoique
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
6 sept. 2009 à 10:14
6 sept. 2009 à 10:14
bonjour,
tu as raison.le problème vient effectivement du fait que beaucoup prennent des scripts sur le net et veulent que ça fonctionne directement sans l'adapter et surtout sans comprendre ce qu'ils font.
il est vrai que ce n'est pas les aider de tout leur faire. Ils n'avanceront jamais.
tu as raison.le problème vient effectivement du fait que beaucoup prennent des scripts sur le net et veulent que ça fonctionne directement sans l'adapter et surtout sans comprendre ce qu'ils font.
il est vrai que ce n'est pas les aider de tout leur faire. Ils n'avanceront jamais.