Se connecter à son compte

Fermé
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 - 12 juin 2009 à 14:20
Nirvv Messages postés 25 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 13 juin 2009 - 13 juin 2009 à 12:05
Bonjour, je suis en train de créer un site internet où les personnes peuvent s'y inscrire mais après comment faire pour qu'ils puissent s'y connecter?

Quand ils s'enregistrent, il y a une requête qui les insert dans une BDD et après j'ai pensé à qui par exemple vérifie que le pseudo et le mot de passe correspondent au même id mais peut-être y a-t-il une autre solution?

6 réponses

luc648 Messages postés 593 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 20 mai 2010 117
12 juin 2009 à 14:44
quand il se connecte tu prend par exemple leurs nom + mdps

$nom_du_visiteur=$_GET['nom_du_visiteur'];
$mdps_du_visiteur=$_GET['mdps_du_visiteur'];

tu fais ta requette pour voir si ils sont dans ta base

$query = mysql/postgre/peut importequery(SELECT* FROM ta_table WHERE nom='".$nom_du_visiteur."' AND mdps='".$mdps_du_visiteur."');

ensuite tu fais un fetch_array pour reprendre la valeur de ta requette

la tu fais un cookie avec le nom de la personne

puis tu balance un rafraichisement automatique de la page pour que ton cookie sois pris en compte
echo"<META http-equiv=\"refresh\" content=\"0; URL=https://www.google.fr/?gws_rd=ssl\">";

puis pour ton contenu

if(!empty($_COOKIE['nom_de_la_personne'])){

le contenu de ton site
}else{

veuillez vous connecter
}
0
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
12 juin 2009 à 15:01
Va falloir que je relise ça plusieurs fois.. ^^


Je viens de regarde le code source de cette page et je n'ai pas vu de <?php session_start(); ?>, comment ça se fait alors qu'il y a forcément des sensations?

<!DOCTYPE html PUBLIC "

-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="HandheldFriendly" content="True" />
<link rel="alternate" media="handheld" href="se connecter a son compte?" />
<title>Se connecter à son compte</title>
<meta name="ROBOTS" content="index,follow" />
0
luc648 Messages postés 593 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 20 mai 2010 117
12 juin 2009 à 22:52
je comprend pas ta question
0
luc648 Messages postés 593 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 20 mai 2010 117
12 juin 2009 à 22:52
je comprend pas ta question
0

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

Posez votre question
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
13 juin 2009 à 11:34
Normalement quand on fait clique droit avec firefox puis "code source de la page", une nouvelle fenêtre s'ouvre et on voit ainsi le code de la page mais quand je le fais pour cette page, je ne vois pas <?php session_start(); ?> alors qu'il y a forcément des sessions sur ce site pour éviter de se reconnecter tout le temps?

Serait-ce parce que le code afficher commence toujours par le "doctype" donc ce qui le précède ne s'affiche pas?


Petit problème sinon, j'ai l'impression que ma requête sql pour vérifier si la personne qui se connecte existe dans ma BDD n'est pas bonne puisque j'ai beau écrire n'importe quoi, ça passe.. :/

Voici mon code:
$query = "SELECT* FROM client WHERE mail='$mail' AND mdp='$mdp'";
	  
	  /* execution de la requete */
$result = mysql_query($query) or die(mysql_error($query));
	  
/* Récupération de la requête dans un tableau numérique */
	$row = mysql_fetch_array($result, MYSQL_NUM);
	
/* Création du cookie */
setcookie($mail, $row);
0
Nirvv Messages postés 25 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 13 juin 2009 1
13 juin 2009 à 12:05
Tu devrais quand même savoir qu'on ne peut pas voir le code php dans un code source de page web. Donc tu risques pas de voir le <?php session_start(); ?>, tout comme le reste du code php.

Pour récuperer les données envoyés par l'utilisateur, tu peux faire comme a dit luc648 mais utilise la method POST si tu utilises un formulaire. Si tu fais un formulaire de connexion, met method="post" et tu récupere le pseudo et pass entré : $pseudo = $_POST['pseudo'] et $pass = $_POST['pass'].

Ensuite tu fais une requete SQL comme t'avais fait :
$requete = mysql_query("SELECT pseudo, pass FROM membres WHERE pseudo='$pseudo' AND pass='$pass'");
(J'ai préféré utiliser SELECT pseudo, pass que SELECT *, c'est mieux en général, mais si t'as un problème, utilise * alors ^^).
Ensuite : $donnees = mysql_fetch_array($requete);
Et tu testes avec la fonction mysql_num_rows si le resultat retourne plus de 0, ce qui signifie que le pseudo/pass correspond a un pseudo/pass dans la base :

if (mysql_num_rows($requete) > 0)
{
       // L'utilisateur s'est bien connecté, donc tu peux créer une session par exemple, et rediriger l'utilisateur sur une autre page avec "header location" :
       $_SESSION['pseudo'] = $pseudo;
	header('location:accueil.php');
}


Faut bien sur que tu ais mis <?php session_start(); ?> au début de ton code.
Si tu fais une redirection comme dans mon exemple, sur la page accueil.php, tu pourras utiliser $_SESSION['pseudo'] pour afficher le pseudo du visiteur (ça sera égal a son pseudo de connexion).

Voila j'espere que t'as un peu plus compris ^^'
Bonne continuation
0