[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация пользователей
koma00

$result = mysql_query("SELECT * FROM users WHERE `e-mail`='".strtolower($email)."'");
if(mysql_num_rows($result)==1) {
$result2 = mysql_query("SELECT * FROM users WHERE `password`='".md5($password)."'");
if(mysql_num_rows($result2)==1) {
echo 'Вы успешно авторизированы';
}
else {
header("Location: /../login.php");
}
}

else {
header("Location: /../login.php");
}

У меня ошибка при запросе к бд. Можно вводить e-mail одного пользователя, а пароль другого пользователя и выводиться сообщение: Вы успешно авторизированны Как мне сделать что-бы пароль с переменной сравнивался с паролем пользователя с ведённым e-mail?



Спустя 4 минуты, 13 секунд (13.06.2011 - 21:48) inpost написал(а):
WHERE `e-mail` = $email AND `password` = $password
- лениво написал smile.gif

Спустя 18 минут, 53 секунды (13.06.2011 - 22:07) koma00 написал(а):
<?php
session_start;
include ("/../connect.php");

$email = $_POST['login'];
$password = $_POST['password'];
$email = ".strtolower($email).";
$password = ".md5($password).";
if($email !='') {
if($password !='') {
$result = mysql_query("SELECT * FROM users WHERE `e-mail` = $email AND `password` = $password");
if(mysql_num_rows($result)==1) {
echo 'Вы успешно авторизированы';
}
else {
header("Location: /../login.php");
}
}

else {
header("Location: /../login.php");
}
}

else {
header("Location: /../login.php");
}
?>

Изменил код у меня появились две ошибки:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in A:\home\localhost\www\user\logout.php on line 12
Warning: Cannot modify header information - headers already sent by (output started at A:\home\localhost\www\user\logout.php:12) in A:\home\localhost\www\user\logout.php on line 16

Спустя 3 минуты, 40 секунд (13.06.2011 - 22:11) linker написал(а):
Что это?
$email = ".strtolower($email).";
$password = ".md5($password).";

Спустя 3 минуты, 39 секунд (13.06.2011 - 22:15) koma00 написал(а):
Извините не знаю как это сделать
$email = ".strtolower($email).";
$password = ".md5($password).";

Спустя 15 минут, 28 секунд (13.06.2011 - 22:30) Админ написал(а):

session_start; - - session_start();
$result = mysql_query("SELECT * FROM `users` WHERE `e-mail` = '$email' AND `password` = '$password' ");


Это непонятно
$email = ".strtolower($email).";
$password = ".md5($password).";


а про header location уже миллион раз писали.

Спустя 7 минут, 27 секунд (13.06.2011 - 22:37) inpost написал(а):
koma00
У тебя есть твой запрос, я показал на примере, как компоновать, достаточно между ними ставить AND, и не важно как я оформил, важно, чтобы ты в свой первый код просто дописал AND между двумя сравнениями.

Спустя 6 минут, 32 секунды (13.06.2011 - 22:44) linker написал(а):
Цитата (koma00 @ 13.06.2011 - 22:15)
Извините не знаю как это сделать
$email = ".strtolower($email).";
$password = ".md5($password).";

А ты подумай над тем, чего ты хочешь добиться этими двумя строчками, а потом открой мануал по PHP и почитай как это правильно сделать.

Спустя 3 минуты, 48 секунд (13.06.2011 - 22:48) Админ написал(а):
Цитата
$email = ".strtolower($email).";
$password = ".md5($password).";


А понятно откуда это взялось. (неглядя вырезано из первоначального запроса). Три темы подряд и все про авторизацию. Конвейр прям

Спустя 7 часов, 50 минут, 11 секунд (14.06.2011 - 06:38) allplayer написал(а):
Ребят, когда пишем AND или OR, то всегда заключайте в скобки:
WHERE (ololo=123 AND ululu=321) OR (user=lol AND money=0)

Что-то вроде того.

А вот про эту строчку: я впервые вижу, чтоб так писали.

Замени
$email = ".strtolower($email).";
$password = ".md5($password).";

На
$email = strtolower($email);
$password = md5($password);

:)

Спустя 1 час, 22 минуты, 53 секунды (14.06.2011 - 08:01) Админ написал(а):
Цитата
Ребят, когда пишем AND или OR, то всегда заключайте в скобки:

зачем всегда ?

Спустя 55 минут, 21 секунда (14.06.2011 - 08:56) linker написал(а):
allplayer
Всегда - это слишком громко сказано. Только тогда, когда этого требует логика.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.