Problème l'ors de la verification du login et mot de passe

mohssine -  
Shadosky Messages postés 7 Statut Membre -
Bonjour,

Je suis débutant en php, j'aimerai réaliser une page de connexion.. avec login et mot de passe.
pour cela j'ai réaliser un formulaire avec html, puis une page verification qui sert a la session.. puis une page login. mais ca marche pas il me dis erreur dans sql..

voici le code login.php


<?php

// On définit les 4 variables nécessaires à la connexion MySQL :
$hostname = 'localhost';
$user = 'root';
$password = '';
$nom_base_donnees = 'admin';

// Connexion au serveur MySQL
$conn = mysql_connect($hostname, $nom_base_donnees, $user, $password) or die(mysql_error());

if(isset($_POST) && !empty($_POST['userlogin']) && !empty($_POST['userpassword']))
{
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select password from user where login like '".$_POST['userlogin']."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data['password'] != $userpassword)
{
echo '<p>Mauvais login ou password. Merci de recommencer</p>';
include('login.htm'); // On inclut le formulaire d'identification
exit;
}
else
{
session_start();
$_SESSION['login'] = $userlogin;

echo 'Vous etes bien logué';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
include('www.aitham.ma');
exit;
}
}
else
{
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('login.htm'); // On inclut le formulaire d'identification
exit;
}
?>

Si c'est possible de me dire ou est l'erreur et m'expliquer pourquoi ? Mercii :D






A voir également:

1 réponse

Shadosky Messages postés 7 Statut Membre
 
Je te déconseille l'utilisation de extract() sur des données inconnues, comme les données utilisateurs (i.e. $_GET, $_FILES, etc.).

Sinon essaye ça le SQL est parfois capricieux sur la syntaxe :

<?php

	// On définit les 4 variables nécessaires à la connexion MySQL :
	$hostname = 'localhost';
	$user     = 'root';
	$password = '';
	$nom_base_donnees = 'admin';
	
	// Connexion au serveur MySQL
	$conn = mysql_connect($hostname, $nom_base_donnees, $user, $password) or die(mysql_error());
	
	if(isset($_POST['userlogin']) && isset($_POST['userpassword']))
	{
		
		// on recupère le password de la table qui correspond au login du visiteur
		$sql = "SELECT password 
		FROM user 
		WHERE login = '".$_POST['userlogin']."'";
		$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

		$data = mysql_fetch_assoc($req);

		if($data['password'] != $_POST['userpassword']) 
		{
			echo '<p>Mauvais login ou password. Merci de recommencer</p>';
			include('login.htm'); // On inclut le formulaire d'identification
			exit;
		}
		else 
		{
			session_start();
			$_SESSION['login'] = $_POST['userlogin'];
			
			echo 'Vous etes bien logué';
			// ici vous pouvez afficher un lien pour renvoyer
			// vers la page d'accueil de votre espace membres
			include('www.aitham.ma');
			exit;
		}  
	}
	else 
	{
		echo '<p>Vous avez oublié de remplir un champ.</p>';
		include('login.htm'); // On inclut le formulaire d'identification
		exit;
	}	
?>


Est-il possible d'avoir l'erreur SQL si cela ne fonctionne toujours pas ?
0