Bonjour,
je suis débutant en PEAR, je suis en train de faire une application. Voilà mon problème concernant le login:
J'ai le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$numrows = $db->getOne("SELECT count(id) FROM clients WHERE login=upper('$login') AND password=upper('$pass')");
if ($numrows=="1") {
	$query = "SELECT id FROM clients WHERE login=upper('$login') AND password=upper('$pass')";
	$rsc = $db->query($query);
	if (DB::isError($rsc))die("erreur SQL lors de la recherche de l'utilisateur<br>");
	$rsc->fetchInto($result);
        session_register("authentification");
 
	$_SESSION['id_user'] = $result[0];
	header("Location:./client/login/frame.php");
}
else {
	header("Location: index.php?erreur=login");
}
Ca marche bien, mais si on fait ca, il faut faire 2 fois la requête. J'ai donc décidé de changer à:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
$query = "SELECT * FROM clients WHERE login=upper('$login') AND password=upper('$pass')";
$rsc = $db->query($query);
if (DB::isError($rsc)) die("erreur SQL lors de la recherche de l'utilisateur<br>");
if ($rsc->numRows()) {
	$rsc->fetchInto($result);
	session_register("authentification");
	$_SESSION['id_user'] = $result[0];
	header("Location:./client/login/frame.php");
}
else {
	header("Location: index.php?erreur=login");
}
Mais je peux logger meme si le login et pass sont faux.
J'ai également essayer: count($rsc), count($rsc) == 1, count($rsc) =="1", $rsc->numRows() == 1, $rsc->numRows() == "1". Ca marche toujours pas, soit je ne peux pas logger, soit je log dans tous les cas.
Pouvez vous m'aider?