Rechercher : dans
Par :

Espace membre PHP/MySQL

Dernière réponse le 10 jun 2009 à 17:30:33 avion-f16, le 21 aoû 2008 à 01:22:35 
 Signaler ce message aux modérateurs

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

Configuration: Windows Vista
Firefox 3.0.1

1

ShadowRevenge, le 21 aoû 2008 à 09:59:46

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 ^^

Répondre à ShadowRevenge

2

gaerebut, le 21 aoû 2008 à 10:03:19

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 Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1:  ne jamais dire tout ce que l'on sait...
-Règle 2: ...

Répondre à gaerebut

3

ShadowRevenge, le 21 aoû 2008 à 10:04:28

Y'en a qui ont plus de courage que moi :p

Répondre à ShadowRevenge

4

gaerebut, le 21 aoû 2008 à 10:05:32

Lol

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

Hihihi Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1:  ne jamais dire tout ce que l'on sait...
-Règle 2: ...

Répondre à gaerebut

5

avion-f16, le 21 aoû 2008 à 14:58:37

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

Répondre à avion-f16

8

wilka73, le 10 jun 2009 à 14:45:33

Comment on fait pour metre un machun a coter de linscription : deja menbre
pseudo:
mot de passe:

Répondre à wilka73

9

 gaerebut, le 10 jun 2009 à 17:30:33

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 Il y a 2 règles d'or pour réussir dans la vie :
-Règle 1:  ne jamais dire tout ce que l'on sait...
-Règle 2: ...

Répondre à gaerebut