Reconnaitre un utilisateur

Fermé
Anna - Modifié par Chris 94 le 15/05/2014 à 15:07
joncavidulienne Messages postés 13 Date d'inscription jeudi 15 mai 2014 Statut Membre Dernière intervention 1 juin 2014 - 15 mai 2014 à 20:50
Bonjour,
Ma base de données s'appelle inscription et ma table utilisateur

Novice en pdo je voudrais récupérer le nom d'un membre inscrit sur mon site:

Ma connexion:

<?php
try
{
 $bdd=new PDO('mysql:host=localhost;dbname=inscription', 'root', '') or die(print_r($bdd->errorInfo()));
 $bdd->exec('SET NAMES utf8');
}
catch(Exeption $e)
{
 die('Erreur:'.$e->getMessage());
}
?>







<?php
if(isset($_POST['valider']))
{  
    include("connect_bdd.php");

// je récupère les données dans le formulaire

    $pseudo = ($_POST['pseudo']);
    $mdp = ($_POST['mdp']); 
 
$req=$bdd->query("SELECT utinom FROM utilisateur WHERE (utilog='.$pseudo.' AND utipas='".md5($mdp)."')") or die(print_r($bdd->errorInfo()));

while( $data=$req->fetch())

{      
 echo $data['utinom']; 
 }
       
}

?>

Je n'ai aucune réponse et pas de message d'erreur.
Quelqu'un pourrait-il m'aider?
Merci

3 réponses

ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 57
15 mai 2014 à 19:21
Bonsoir,
Les explications sont indiquées en commentaires dans le script :
<?php
if(isset($_POST['valider'])) {
	include("connect_bdd.php");

	// je récupère les données dans le formulaire
	// Je te conseille vivement de vérifier les données POST
	// si elles ne sont pas vides avec empty()
	// Les parenthèses autour des données POST ne sont pas nécessaires
	$pseudo = $_POST['pseudo'];
	// Tu peux "hasher" le mot de passe à cet endroit
	$mdp = md5($_POST['mdp']); 

	// Enlever les parenthèses après la condition WHERE
	$req=$bdd->query("SELECT utinom FROM utilisateur WHERE utilog='".$pseudo."' AND utipas='".$mdp."'") or die(print_r($bdd->errorInfo()));

	// Pas nécessaire de faire une boucle WHILE car le résultat est censé être unique
	// sinon c'est grave plusieurs utilisateurs ayant le même pseudo et le même mot de passe :)
	$data=$req->fetch();
	echo "Nom d'utilisateur: ".$data['utinom'];
}
?>

Cordialement.
0
joncavidulienne Messages postés 13 Date d'inscription jeudi 15 mai 2014 Statut Membre Dernière intervention 1 juin 2014
15 mai 2014 à 20:27
Merci beaucoup pour ta réponse. Je viens de tester et ça marche!
Tu me sauves la vie (pour l'instant! )
Bonne soirée
0
joncavidulienne Messages postés 13 Date d'inscription jeudi 15 mai 2014 Statut Membre Dernière intervention 1 juin 2014
15 mai 2014 à 20:50
Bonsoir Décidemment je suis nulle; j'ai voulu écrire un message différent selon que la personne est membre ou pas:

$data=$req->fetch();

if (.$data['utinom']!= "")
{

echo "<p>Bienvenue ".$data['utinom'];
}

else
{
echo <p>"Vous n'êtes pas inscrit!";

}

résultat il m'écrit bien bienvenue 'nom' si elle est inscrite et bienvenue tout court si elle ne l'est pas.
grr ça m'énerve!!
Meri pour l'aide
0