Ответить
вот твой код. тут много ньюансов.
во-первых такая проверка всегда верна тоесть всегда проходит
надо проверять ни сам факт сделан ли запрос а что он вернул
что-то типа
тоесть проверять что запрос смог вытянуть из базы. В данном случае я проверяю сколько записей он вытянул))
Дальше... вот это не обязательно
само закроется после отработки скрипта, только код засоряет. Это надо делать если юзаешь разные подключения в процессе работы.
возвращает массив с данными из запроса. но если запрос ничего не вытянул то возникнет ошибка. по этому перед вызовом этой функции нужно проверять есть ли чтото в результате вот так
тоесть что-то типа этого
эти два примера в принципе делают одно и тоже. Если запрос был удачен в переменной $result будет массив с данными. потом можешь его продампить и посмотреть в каком они там виде. Так как все ависит от того как у тебя построена таблица в мускуле)
Добавлено 2010.10.10 14-38
skad0, Ну как твой проект продвигается? Будут еще вопросы создавай темку будем перетирать как лучше сделать
Общие вопросы новичков
Отправлено: 9 Oct 2010#61
видно оно не пошло. у меня больше нормы просто в личке. ща почищу))
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 9 Oct 2010#63
ну вот и багу обнаружили))) я удалил у себя сообщения а людей которые мне их писали или которым я писал они остались же еще, а написать мне все равно нельзя пока и они их у себя не удалят. + вместо инфосообщения мол незя отправить пишеться что все ок а на самом деле нет. сейчас исправлю. блин))
Добавлено 2010.10.09 15-34
вроде исправил))
Добавлено 2010.10.09 15-34
вроде исправил))
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 9 Oct 2010#65
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php error_reporting(E_ALL);
include ('mysql_conf.php');
//var_dump($users_tb);
if ($q = mysql_query("SELECT * FROM `". $users_tb ."` WHERE `password`='".$_POST['password'] ."' AND `login`='".$_POST['login'] ."' LIMIT 1 ")) {
// проверяем логины и пароли
session_start();
$_SESSION['user'] = mysql_fetch_array($q); // устанавливаем ключ ID для сессии авторизованного
header("Location: ../main.php"); // отправляем на закрытую страницу
mysql_close ($link);
die();
}
else {
unset($_SESSION['user']);
header("Location: ../index.php"); // отправляем обратно на авторизацию
die();
mysql_close ($link);
}?>
вот твой код. тут много ньюансов.
во-первых такая проверка всегда верна тоесть всегда проходит
1
2
<?php if ($q = mysql_query("SELECT * FROM `". $users_tb ."` WHERE `password`='".$_POST['password'] ."' AND `login`='".$_POST['login'] ."' LIMIT 1 ")) {?>
что-то типа
1
2
3
4
<?php $q = mysql_query("SELECT * FROM `". $users_tb ."` WHERE `password`='".$_POST['password'] ."' AND `login`='".$_POST['login'] ."' LIMIT 1 ");
if (mysql_num_rows($q) > 0) {
}?>
Дальше... вот это не обязательно
1
2
<?php mysql_close ($link);?>
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 9 Oct 2010#67
1
2
<?php mysql_fetch_array($q)?>
возвращает массив с данными из запроса. но если запрос ничего не вытянул то возникнет ошибка. по этому перед вызовом этой функции нужно проверять есть ли чтото в результате вот так
1
2
<?php mysql_num_rows($q)?>
тоесть что-то типа этого
1
2
3
4
5
6
7
<?php if (mysql_num_rows($q) > 0) {
$result = mysql_fetch_array($q);
}
//или
if (mysql_num_rows($q) > 0) {
$result = mysql_fetch_assoc($q);
}?>
эти два примера в принципе делают одно и тоже. Если запрос был удачен в переменной $result будет массив с данными. потом можешь его продампить и посмотреть в каком они там виде. Так как все ависит от того как у тебя построена таблица в мускуле)
Добавлено 2010.10.10 14-38
skad0, Ну как твой проект продвигается? Будут еще вопросы создавай темку будем перетирать как лучше сделать

Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 10 Oct 2010#69
создавай пост, будем разбираться и рассказывать как и где квотить)))
Я горжусь тем, что создал . И люблю нашу команду)
Сейчас online: 7. Зарегистрированных: 0. Гостей: 7.

