Récupérer des données dans une BDD

Valentin10 -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,

Je suis actuellement entrain de développer un site web qui demande un espce membres.
J'ai donc à l'aide de tuto réaliser un espace membres qui fonctionne parfaitement grace à PHP et MYSQL.

Mon problème est le suivant, lors de mon inscription je met un champs " Email" , celui-ci s'enregistrement parfaitement dans la base de donnée mais je voudrais savoir comment le récuperer sur ma page membre, une fois l'utilisateur logé, voici le code de ma page membre :

<?php
session_start();
require 'conf.php';


if(isset($_COOKIE['zonemembre_login']) AND !isset($_SESSION['login']))
{
	if(get_magic_quotes_gpc()===1)
	{
		$login=$_COOKIE['zonemembre_login'];
		$passe=$_COOKIE['zonemembre_passe'];
	}
	else
	{
		$login=addslashes($_COOKIE['zonemembre_login']);
		$passe=addslashes($_COOKIE['zonemembre_passe']);
	}



	mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données</p>');
	mysql_select_db($mysql_base);

	$requete=mysql_query('SELECT COUNT(*) FROM membres WHERE pseudo="'.$login.'" AND passe=md5("'.$passe.'")') OR die(mysql_error());
	

	$r=mysql_fetch_row($requete);
    $data=mysql_fetch_assoc($req);
    mysql_close();

	if($r[0]!=='0')
	{
		$_SESSION['login']=$login;
	}
	else
	{
		header('location:connexion.php');
		exit;
	}
}
if(isset($_SESSION['login']))
{

	echo '<p>Bonjour ',$_SESSION['login'],'</p><p>Bienvenue dans votre zone membre !</p><p><a href="connexion.php?action=deconnexion">Cliquez ici pour vous déconnecter</a></p>';
}
else
{
	header('location:connexion.php');
	exit;
}
?>



Voilà j'espère que vous pourez m'aider merci d'avance,
Valentin
Configuration: Windows XP Internet Explorer 8.0

3 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    $r=mysql_fetch_row($requete);
    $data=mysql_fetch_assoc($req);



    tu ne dois faire qu'une seule fois mysql_fetch.....

    car ça déplace le pointeur à chaque fois:
    au premier ça lit bien la ligne 1 du résultat et le pointeur va à la fin
    au deuxième tu n'as plus rien à lire donc $data ?

    if($r[0]!=='0')

    c'est plutot
    if($r[0]!='0')
    car je ne pense pas que tu ai besoin de faire un test " n'est pas strictement égal "
    0
  2. Valentin 10
     
    Merci pour la réponse,

    Oui j'avais pas fais attention pour la répétition de mysql_fetch_row et mysql_fetch_assoc qui ne sert à rien.

    Mais je ne vois toujours pas comment je peux récupérer mes infos dans ma base de donnés hormis le login grace à $_SESSION['login'].

    Qu'elle script ou requete ou je ne sais pas quoi dois-je utiliser pour récuperer par exemple le mail de l'utilisateur qu'il a renseigné lors de son inscription et qui est donc enregistré dans la base de donnés, dsl je ne suis que débutant =S

    Merci pour les éventuelles réponses qui arriverons =)
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    $requete=mysql_query('SELECT * FROM membres WHERE pseudo="'.$login.'" AND passe=md5("'.$passe.'")') OR die(mysql_error());
       //attention j'ai modifie ta requette ci dessus !  * veut dire tous les champs
    	 $nbr_enr_trouves=mysql_num_rows($requete); // le nombre trouves
        $data=mysql_fetch_assoc($req);  //$data est un array qui contient toute la ligne, ses index ou clefs correspondent aux noms des champs de la BDD
    	 mysql_close();
    
    	if($nbr_enr_trouves == 1){  // un enregistrement correspond	
    		$_SESSION['login']=$login;
    		$email= $data['email'];  // si le champ de ta BDD qui contient l'adresse mail est bien 'email' sinon tu modifies
    		
    	}else	{
    		header('location:connexion.php');
    		exit;
    	}
    
    
    0