Espace membre PHP/MySQL
Résolu
avion-f16
Messages postés
19252
Date d'inscription
Statut
Contributeur
Dernière intervention
-
houssem404 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
houssem404 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
sur mon site, j'ai créé un espace membre mais la j'ai un sacré problème au niveau de la page de connexion ! Pouvez vous m'aidez ? Je vous donne déjà quelque infos :
- J'utilise une base de données MySQL
- Le formulaire n'est pas sur la page connexion mais sur toutes (et il renvoit sur la page connexion donc il crée des variables "$_POST['variable']").
- Je ne demandes que le pseudo et le mot de passe pour la connexion
Alors si vous pouvez me passer un script PHP/MySQL (je me débrouillerai pour l'adapter), se serait vraiment trop cool et gentil :)
Merci d'avance
sur mon site, j'ai créé un espace membre mais la j'ai un sacré problème au niveau de la page de connexion ! Pouvez vous m'aidez ? Je vous donne déjà quelque infos :
- J'utilise une base de données MySQL
- Le formulaire n'est pas sur la page connexion mais sur toutes (et il renvoit sur la page connexion donc il crée des variables "$_POST['variable']").
- Je ne demandes que le pseudo et le mot de passe pour la connexion
Alors si vous pouvez me passer un script PHP/MySQL (je me débrouillerai pour l'adapter), se serait vraiment trop cool et gentil :)
Merci d'avance
A voir également:
- Espace membre PHP/MySQL
- Espace insécable - Guide
- Espace de stockage gmail plein - Guide
- Membre indisponible vinted - Guide
- Espace stockage google - Guide
- Easy php - Télécharger - Divers Web & Internet
9 réponses
Salut,
donc si on part du principe que ton formulaire de connexion et de ce type :
Ben la page connexion.php pourrai ressembler à ceci :
A vrai dire, j'ai pas testé ce code donc je ne te promet rien mais bon ... il peut marcher ! ^^
A+
Gaerebut
donc si on part du principe que ton formulaire de connexion et de ce type :
<form action = "connexion.php" method="post"> Login <input type="text" name="login" /><br /> Mot de passe <input type="password" name="mdp" /><br /><br /> <input type="submit" value="Se connecter" /> </form>
Ben la page connexion.php pourrai ressembler à ceci :
<?php session_start;// ne pas oublier avant tout code html si on attaque les session if (($_GET['action'])=='deconnection' && isset($_SESSION['login']) && isset($_SESSION['mdp']))//Si on va sur cette page mais que les sessions 'login' et 'mdp' existe déjà, c'est que l'on veut se deconnecter ... donc action ! ^_^' { session_destroy();// on se déconnecte de la session echo '<meta http-equiv="refresh" content="3;URL=index.php">'; echo '<center><font color=red><b><br>Vous vous êtes bien déconnecté</b><br /><br />Vous allez être redirigé dans 3 secondes</font><br /><br /><a href="index.php">Ne pas attendre</a></center>'; } else if (!isset($_SESSION['login']) && !isset($_SESSION['mdp']))//Sinon, si ces sessions n'existent pas, c'est qu'on veut se connecter ... donc action ! ^_^' { if (isset($_POST['login']) AND isset($_POST['mdp'])) // Si les variables existent { mysql_connect(_DBHOST,_DBUSER,_DBPASS);//Identifiant à remplacer mysql_select_db(_DBNAME);//Nom de la base à remplacer aussi $login= mysql_real_escape_string(htmlspecialchars($_POST['login']));//Sécurité au cas ou ! $mdp = mysql_real_escape_string(htmlspecialchars($_POST['mdp']));//Sécurité au cas ou ! $reponse = mysql_query("SELECT * FROM membres WHERE login='$login' AND mdp='$mdp'");// On fait le tour de la base pour voir si le login entré existe et a pour mot de passe celui entré $donnees = mysql_fetch_array($reponse);//on créé un petit tableau des résultats (normalement, il y en a qu'un si t'as tout bien configuré lors de l'inscription) if (($donnees['login']) AND ($donnees['mdp']))//Si on a un resultat ... on a plus qu'a créer les session { $_SESSION['login'] = $login; // Session contenant le login du membre $_SESSION['mdp'] = md5($mdp);// Session contenant le mot de passe hashé en md5 (par mesure de sécurité et surtout de confidentialité ;) ) $_SESSION['email'] = $donnees['email'];// Session contenant l'e-mail du membre //Donc ici, tu peux plus ou moins mettre des sessions de ce que tu veux et plus ou moins autant que tu veux. // L'option du cookies n'est pas dévellopé ici car tu ne l'a pas demandé :p lol echo '<meta http-equiv="refresh" content="3;URL=index.php">'; echo '<center><font color=red><b><br>Vous êtes bien identifié</b><br /><br />Vous allez être redirigé dans 3 secondes</font><br /><br /><a href="index.php">Ne pas attendre</a></center>'; } else { echo '<center><font color=red><b><br>Erreur d\'authentification !</b><br />Votre login ou votre mot de passe est faux</font><br><br><a href="index.php">Retour</a></center>'; } mysql_close(); } } else { echo '<center><font color=red><b><br>Erreur !</b><br />Vous ne pouvez pas aller sur cette page, vous êtes déjà connecté.</font><br><br><a href="Javascript:history.go(-1)">Retour</a></center>'; } ?>
A vrai dire, j'ai pas testé ce code donc je ne te promet rien mais bon ... il peut marcher ! ^^
A+
Gaerebut
Tu fais un truc du genre :
pour le formulaire :
<form method='post' action='connexion.php'>
<p><input type='text' name='pseudo' /><br/>
<input type='password' name='mdp' /><br/>
<input type='submit' value='Envoyer' />
</p></form>
et pour la page connexion.php :
if(isset($POST['pseudo']) and isset($_POST['mdp']))
{
$reponse = mysql_query(" SELECT * FROM membres WHERE pseudo=".$_POST['pseudo']);
$donnees = mysql_fetch_array($reponse);
if($donnees['mdp'] == $_POST['mdp'])
{
$_SESSION['pseudo'] = $donnees['pseudo'];
$_SESSION['mdp'] = $donnees['pseudo'];
......... ect
echo"<p>Vous êtes maintenant logué !</p>";
}
else
{
echo"<p>Erreur blabla...</p>";
}
}
voila je lai fait a larrache ca doit surement pas marcher mais ca te donne une idee ^^
pour le formulaire :
<form method='post' action='connexion.php'>
<p><input type='text' name='pseudo' /><br/>
<input type='password' name='mdp' /><br/>
<input type='submit' value='Envoyer' />
</p></form>
et pour la page connexion.php :
if(isset($POST['pseudo']) and isset($_POST['mdp']))
{
$reponse = mysql_query(" SELECT * FROM membres WHERE pseudo=".$_POST['pseudo']);
$donnees = mysql_fetch_array($reponse);
if($donnees['mdp'] == $_POST['mdp'])
{
$_SESSION['pseudo'] = $donnees['pseudo'];
$_SESSION['mdp'] = $donnees['pseudo'];
......... ect
echo"<p>Vous êtes maintenant logué !</p>";
}
else
{
echo"<p>Erreur blabla...</p>";
}
}
voila je lai fait a larrache ca doit surement pas marcher mais ca te donne une idee ^^
Salut,
Ouaaa, très explicite t'as demande !
Et au fait tu connais Bonjour ou salut???
Tu connais merci ???
Tu connais aurevoir ou a+ ???
Merci de ré-itérer :)
A+
Gaerebut
Ouaaa, très explicite t'as demande !
Et au fait tu connais Bonjour ou salut???
Tu connais merci ???
Tu connais aurevoir ou a+ ???
Merci de ré-itérer :)
A+
Gaerebut
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup pour vos réponse mais j'ai trouvé tout seule sur cette page. J'invite tous ceux qui veulent faire un espace membre à aller sur le lien donné.
Je vais mettre le statut résolu et vous remercie tous pour vos réponse
Je vais mettre le statut résolu et vous remercie tous pour vos réponse
Salut, moi aussi j'ai un probleme:
<?php
?>
<?php
if(isset($_POST['connect'])) // Si on a cliqué sur le bouton le script se lance
{
require ('configuration.php');
$acct = mysql_real_escape_string($_POST['compte']); // On protège le serveur MySQL contre toutes failles pour une injection SQL
$mdp = mysql_real_escape_string($_POST['pass']); // On protège le serveur MySQL contre toutes failles pour une injection SQL
mysql_select_db($mysql['realmd'] , $connexion); // On se connecte à la DB des cpmptes
//On vérifie si le compte est banni pas sûr du tout par contre
$req = mysql_query("SELECT locked FROM 'account' WHERE username='$acct'");
$check = mysql_fetch_array($req);
if ($check == '1')
{
die ('Impossible de se connecter, vous avez été bannis du serveur !!!
');
}
// On vérifie que le compte existe
$req2 = mysql_query("SELECT * FROM 'account' WHERE username='$acct'");
$check2 = mysql_num_rows($req2);
if ($check2 == 0)
{
die ('Veuiller reeseyer, le compte n\'existe pas !');
}
//On vérifie que le mot de passe est bon pour le compte
// Pas sûr du cryptage du mot de passe
$req3 = mysql_query("SELECT * FROM 'account' WHERE username='$acct' AND sha_pass_hash= SHA1(CONCAT(UPPER('$acct'),':',UPPER('$mdp')))");
$check3 = mysql_num_rows($req3);
if ($check3 == 0)
{
die ('Veuiller reeseyer, le compte est incorect!');
}
$req4 = mysql_query("SELECT * FROM 'account' WHERE username='$acct' AND sha_pass_hash='$crypt_pass' AND gmlevel >= '1'"); // Requête de vérification MJ
$check4 = mysql_num_rows($req4);
$req5 = mysql_query("SELECT * FROM 'account' WHERE username='$acct' AND sha_pass_hash='$crypt_pass' AND gmlevel = '3'"); // Requête de vérification Admin
$check5 = mysql_num_rows($req5);
if ($check4 == 1)
{
$_SESSION['MJ'] = 1; // Si la requête ci-dessus est vrai , on rend vrai la superglobale pour les MJ
}
if ($check5 == 1)
{
$_SESSION['ad'] = 1; // Si la requête ci-dessus est vrai , on rend vrai la superglobale pour l'accès au panel admin
}
$_SESSION['logged'] = 1; // On rend vrai la superglobale de connexion
$_SESSION['compte'] = stripslashes($acct); // On met le nom de compte dans une variable session pour une utilisation prochaine
header("location: membre.php?id=1"); // On redirige vers l'espace membre
}
else
{
?>
<br>
<form method="post" action="connexion.php">
<tr>
<td> </td><td><input type="text" size="10" name="compte" value="compte" onclick="effacer(this, 'compte');" onblur="restaurer(this, 'compte');" src="up.png" /></td>
</tr>
<tr>
<td> </td><td><input type="password" size="10" name="pass" onclick="effacer(this, 'motdepasse');" onblur="restaurer(this, 'motdepasse');" value="motdepasse" src="up.png" /></td>
</tr>
<tr>
<input type="submit" value="Connexion" name="connect" style="background-image:url(images/topbar.jpg)" />
</form>
<?php
}
?>
La connexion marche, mais ce que je voudrai c'est un espace membre.Car la une fois connecter sa me redirige vers un espace membre que j'ai fait, mais pour chaque membres, il peu y avoir certaines choses en plus ou en moin...
merci de m'aider s'il vous plait!!!!
<?php
?>
<?php
if(isset($_POST['connect'])) // Si on a cliqué sur le bouton le script se lance
{
require ('configuration.php');
$acct = mysql_real_escape_string($_POST['compte']); // On protège le serveur MySQL contre toutes failles pour une injection SQL
$mdp = mysql_real_escape_string($_POST['pass']); // On protège le serveur MySQL contre toutes failles pour une injection SQL
mysql_select_db($mysql['realmd'] , $connexion); // On se connecte à la DB des cpmptes
//On vérifie si le compte est banni pas sûr du tout par contre
$req = mysql_query("SELECT locked FROM 'account' WHERE username='$acct'");
$check = mysql_fetch_array($req);
if ($check == '1')
{
die ('Impossible de se connecter, vous avez été bannis du serveur !!!
');
}
// On vérifie que le compte existe
$req2 = mysql_query("SELECT * FROM 'account' WHERE username='$acct'");
$check2 = mysql_num_rows($req2);
if ($check2 == 0)
{
die ('Veuiller reeseyer, le compte n\'existe pas !');
}
//On vérifie que le mot de passe est bon pour le compte
// Pas sûr du cryptage du mot de passe
$req3 = mysql_query("SELECT * FROM 'account' WHERE username='$acct' AND sha_pass_hash= SHA1(CONCAT(UPPER('$acct'),':',UPPER('$mdp')))");
$check3 = mysql_num_rows($req3);
if ($check3 == 0)
{
die ('Veuiller reeseyer, le compte est incorect!');
}
$req4 = mysql_query("SELECT * FROM 'account' WHERE username='$acct' AND sha_pass_hash='$crypt_pass' AND gmlevel >= '1'"); // Requête de vérification MJ
$check4 = mysql_num_rows($req4);
$req5 = mysql_query("SELECT * FROM 'account' WHERE username='$acct' AND sha_pass_hash='$crypt_pass' AND gmlevel = '3'"); // Requête de vérification Admin
$check5 = mysql_num_rows($req5);
if ($check4 == 1)
{
$_SESSION['MJ'] = 1; // Si la requête ci-dessus est vrai , on rend vrai la superglobale pour les MJ
}
if ($check5 == 1)
{
$_SESSION['ad'] = 1; // Si la requête ci-dessus est vrai , on rend vrai la superglobale pour l'accès au panel admin
}
$_SESSION['logged'] = 1; // On rend vrai la superglobale de connexion
$_SESSION['compte'] = stripslashes($acct); // On met le nom de compte dans une variable session pour une utilisation prochaine
header("location: membre.php?id=1"); // On redirige vers l'espace membre
}
else
{
?>
<br>
<form method="post" action="connexion.php">
<tr>
<td> </td><td><input type="text" size="10" name="compte" value="compte" onclick="effacer(this, 'compte');" onblur="restaurer(this, 'compte');" src="up.png" /></td>
</tr>
<tr>
<td> </td><td><input type="password" size="10" name="pass" onclick="effacer(this, 'motdepasse');" onblur="restaurer(this, 'motdepasse');" value="motdepasse" src="up.png" /></td>
</tr>
<tr>
<input type="submit" value="Connexion" name="connect" style="background-image:url(images/topbar.jpg)" />
</form>
<?php
}
?>
La connexion marche, mais ce que je voudrai c'est un espace membre.Car la une fois connecter sa me redirige vers un espace membre que j'ai fait, mais pour chaque membres, il peu y avoir certaines choses en plus ou en moin...
merci de m'aider s'il vous plait!!!!
Salut F16, j'arrive apparemment trop tard mais regarde ce site:http://www.agents-co.fr je crois que c'est ce script que tu recherches, si tu le veux, préviens moi, le temps de te le mettre en forme et je te l'envoi :)
Si tu cherches un bon casse tête, mets toi à l'informatique !
Si tu cherches un bon casse tête, mets toi à l'informatique !
m'ecrire a benoit1966@hotmail.com