Espace membre PHP/MySQL

Résolu/Fermé
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 21 août 2008 à 01:22
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
A voir également:

9 réponses

gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
21 août 2008 à 10:03
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
6
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
0
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
Merci pour votre script
0
ShadowRevenge Messages postés 146 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 16 juillet 2009 13
21 août 2008 à 09:59
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 ^^
4
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
10 juin 2009 à 17:30
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
1
ShadowRevenge Messages postés 146 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 16 juillet 2009 13
21 août 2008 à 10:04
y'en a qui ont plus de courage que moi :p
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
21 août 2008 à 10:05
Lol

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

Hihihi
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
21 août 2008 à 14:58
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
comment on fait pour metre un machun a coter de linscription : deja menbre
pseudo:
mot de passe:
0
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!!!!
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 27/06/2010 à 14:15
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é.
0
niconovice Messages postés 954 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 3 mars 2014 86
Modifié par niconovice le 23/01/2011 à 17:39
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 !
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
23 janv. 2011 à 18:34
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.
0
niconovice Messages postés 954 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 3 mars 2014 86
Modifié par niconovice le 23/01/2011 à 18:53
Dsl lol xD j'étais content de pouvoir te rendre l'appareil, dommage :D
ça m'étonnait aussi....;)
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
23 janv. 2011 à 19:49
Si tu le désires, tu peux quand même poster les sources pour les futurs lecteurs de ce sujet :)
0
niconovice Messages postés 954 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 3 mars 2014 86
23 janv. 2011 à 19:55
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...
0