Espace membre PHP/MySQL [Résolu/Fermé]

Messages postés
18312
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 août 2019
- - Dernière réponse : houssem404
Messages postés
5
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
29 décembre 2011
- 27 déc. 2011 à 17:58
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
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
1043
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
158
6
Merci
Salut,

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

Dire « Merci » 6

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57989 internautes nous ont dit merci ce mois-ci

Bonjours, je suis de Montréal et recherche quelquun qui peu ce deplacer afin de m'aider pour login ainsi que mysql. je suis debutant et besoin d'aide.
m'ecrire a benoit1966@hotmail.com
houssem404
Messages postés
5
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
29 décembre 2011
-
Merci pour votre script
Messages postés
146
Date d'inscription
lundi 11 août 2008
Statut
Membre
Dernière intervention
16 juillet 2009
12
4
Merci
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 ^^
Messages postés
1043
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
158
1
Merci
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
Messages postés
146
Date d'inscription
lundi 11 août 2008
Statut
Membre
Dernière intervention
16 juillet 2009
12
0
Merci
y'en a qui ont plus de courage que moi :p
Messages postés
1043
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
158
0
Merci
Lol

j'ai écrit le miens et t'as posté le tient pendant que j'écrivais ... :p

Hihihi
Messages postés
18312
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 août 2019
4092
0
Merci
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
0
Merci
comment on fait pour metre un machun a coter de linscription : deja menbre
pseudo:
mot de passe:
0
Merci
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!!!!
avion-f16
Messages postés
18312
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 août 2019
4092 -
Salut Jak.
Tu peux créer ton propre topic, c'est gratuit (et l'inscription aussi).
Place ton code dans la balise "code" de CCM pour conserver l'indentation.
Et puis si tu pouvais mieux expliquer ton problème, ça serait bien.

Edit: je me rends compte que c'est déjà fait, désolé.
Messages postés
974
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
3 mars 2014
70
0
Merci
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 !
avion-f16
Messages postés
18312
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 août 2019
4092 -
Salut. Ce topic date de mes débuts en webmastering :D
C'est d'ailleur un de mes rares sujets sur CCM.
Tu arrives avec beaucoup de retard. Aujourd'hui, faire un espace membre, c'est quelque-chose de très basique pour moi.
Merci quand même pour ta réponse.
niconovice
Messages postés
974
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
3 mars 2014
70 -
Dsl lol xD j'étais content de pouvoir te rendre l'appareil, dommage :D
ça m'étonnait aussi....;)
avion-f16
Messages postés
18312
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
17 août 2019
4092 -
Si tu le désires, tu peux quand même poster les sources pour les futurs lecteurs de ce sujet :)
niconovice
Messages postés
974
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
3 mars 2014
70 -
c'était surtout pour te rendre l'appareil puisque tu as aidé beaucoup de monde ici et en plus de ça ce forum est mal optimisé pour les long script se serait illisible...