<?php
$login = $_POST['login']; // получаем логин
$pass = $_POST['pass']; // получаем пароль
// Изночально $error установим в false
$error = "false";
if(!empty($id)){
if(!empty($login)){
if(!empty($pass)){
include ("connect.php"); // подключение к Базе данных
$connect_DB = mysql_query("SELECT * FROM users WHERE login='".$login."' AND pass='".$pass."'", $db);
if (!$connect_DB || $connect_DB == '') {
$id = "-1";// вывод кода ошибки -1: не удалось подключиться к БД
}else{
$result = mysql_fetch_array($connect_DB); //выполняем запрос
if ($result['id'] == '') {
$id = "-2"; // вывод кода -2: такого пользователя нет
}else{
$id = $result['id'];
$error = "true";
}
}
}else{
// Обрабатываем ошибку, т.к. нет переменной $pass
$id="-3" // ошибка в переменных
}
}else{
// Обрабатываем ошибку, т.к. нет переменной $login
$id="-3" // ошибка в переменных
}
}else{
// Обрабатываем ошибку, т.к. нет переменной $id
$id="-3" // ошибка в переменных
}
// Формируем ответ для флешки
echo "error=".$error."&id=".$id;
?>
Parse error: syntax error, unexpected '}' in T:\home\192.168.0.102\www\vhod.php on line 34
Смотрю 34 линию, но ничего толкового не увидел, что подправить надо?
Спустя 10 минут, 7 секунд (11.01.2012 - 16:03) kovaldm написал(а):
$id="-3"; // ошибка в переменных
Спустя 3 минуты, 38 секунд (11.01.2012 - 16:07) nugle написал(а):
<?php
$login = $_POST['login'];
// получаем логин
$pass = $_POST['pass'];
// получаем пароль
// Изночально $error установим в false
$error = "false";
if(!empty($id))
{
if(!empty($login))
{
if(!empty($pass))
{
include ("connect.php");
// подключение к Базе данных
$connect_DB = mysql_query("SELECT * FROM users WHERE login='".$login."' AND pass='".$pass."'", $db);
if(!$connect_DB || $connect_DB == '')
{
$id = "-1";
// вывод кода ошибки -1: не удалось подключиться к БД
}
else
{
$result = mysql_fetch_array($connect_DB);
//выполняем запрос
if($result['id'] == '')
{
$id = "-2";
// вывод кода -2: такого пользователя нет
}
else
{
$id = $result['id'];
$error = "true";
}
}
}
else
{
// Обрабатываем ошибку, т.к. нет переменной $pass
$id = "-3";
// ошибка в переменных
}
}
else
{
// Обрабатываем ошибку, т.к. нет переменной $login
$id = "-3";
// ошибка в переменных
}
}
else
{
// Обрабатываем ошибку, т.к. нет переменной $id
$id = "-3";
// ошибка в переменных
}
// Формируем ответ для флешки
echo "error=". $error ."&id=". $id;
?>
Спустя 14 минут, 49 секунд (11.01.2012 - 16:22) YVSIK написал(а):
ответ вроде должен быть очевидным (нет пасса в базе значит один ответ, а если есть другой)
тут же я даже несмог сосчитать сколько вложений ту есть и не стал, зачем так много-то если ответов только два
ну и добавь вывод после каждого ответа чтоб было видно до какого дошло дело
ну пусть хоть так
тут же я даже несмог сосчитать сколько вложений ту есть и не стал, зачем так много-то если ответов только два
ну и добавь вывод после каждого ответа чтоб было видно до какого дошло дело
ну пусть хоть так
{если так хочется столько уровней иметь
// Обрабатываем ошибку, т.к. нет переменной $login
$id = "-3";
// ошибка в переменных
echo 'такой то уровень-':
}
Спустя 13 минут, 23 секунды (11.01.2012 - 16:35) YVSIK написал(а):
и не гоняй по все таблице запрос достаточно по нужным полям
вот проверка если нашлось или нет
дальше пишем
$connect_DB = mysql_query("SELECT `login`, `pass` FROM `users` WHERE `login`= '".$login."' AND `pass`= '".$pass."'");
вот проверка если нашлось или нет
if(mysql_num_rows($connect_DB)>0)
дальше пишем
if()
{
// тут про логин
}
elseif
{
// тут про пасс
}
else
{
// туn если прошди проверку то
// Формируем ответ для флешки
echo "error=". $error ."&id=". $id;
}
Спустя 4 минуты, 39 секунд (11.01.2012 - 16:40) nugle написал(а):
Цитата |
и не гоняй по все таблице запрос достаточно по нужным полям $connect_DB = mysql_query("SELECT `login`, `pass` FROM users WHERE `login`= '".$login."' AND `pass`= '".$pass."'"); |
че за бред?
по-твоему нужно лишнюю нагрузку делать? а если у меня с сотню запросов будет? мне их вначало вынести все?
он правильно делает, если все впорядке, то делает запрос
и раз на то пошло, то не ifelse, а elseif
Спустя 5 минут, 17 секунд (11.01.2012 - 16:45) YVSIK написал(а):
nugle а зачем всю таблицу лопатить ? что может в других полях тоже возможно встретить ещё один пароль или логин , ну тогда лопать весь сервер, а вдруг, или базу........
а тут конечно так и есть
elseif поправил уже
а тут конечно так и есть
elseif поправил уже
Спустя 25 минут, 39 секунд (11.01.2012 - 17:11) nugle написал(а):
YVSIK
Допустим, таблица состоит из 1000000 строк, теперь представь. Если каждый просто будет по пустым полям нажимать, то какая нагрузка на сервер будет
Допустим, таблица состоит из 1000000 строк, теперь представь. Если каждый просто будет по пустым полям нажимать, то какая нагрузка на сервер будет
Спустя 15 минут, 42 секунды (11.01.2012 - 17:27) YVSIK написал(а):
??? :blink:
а это что тут не так как ты написал?
тут четко виден запрос проверить все поля таблицы, вот в табличе может быть как ты и говоришь 1000 полей и что?
не,) это ты перепутал ;)
и что подразумевается под словом строк? по моему это как индекс записи
, сколько записей в таблице, а поля это сколько записей по каждому столбцу и запросив искать по всей , получается что ты будешь лопатить не только строки но и все поля!
а это что тут не так как ты написал?
$connect_DB = mysql_query("SELECT * FROM users
тут четко виден запрос проверить все поля таблицы, вот в табличе может быть как ты и говоришь 1000 полей и что?
не,) это ты перепутал ;)
и что подразумевается под словом строк? по моему это как индекс записи
, сколько записей в таблице, а поля это сколько записей по каждому столбцу и запросив искать по всей , получается что ты будешь лопатить не только строки но и все поля!
Спустя 7 минут, 11 секунд (11.01.2012 - 17:34) nugle написал(а):
YVSIK
я извиняюсь, не правильно тебя понял
я извиняюсь, не правильно тебя понял
Спустя 1 час, 14 минут, 33 секунды (11.01.2012 - 18:48) Godwarlock написал(а):
<?php
$log_usr= $_POST['log_usr'];
// получаем логин
$pas_usr = $_POST['pas_usr'];
// получаем пароль
// Изночально $error установим в false
$error = "false";
include ("connect.php");
// подключение к Базе данных
$connect_DB = mysql_query("SELECT * FROM users WHERE log_usr='".$log_usr."' AND pas_usr='".$pas_usr."'", $db);
if(!$connect_DB || $connect_DB == '')
{
$id = "-1";
// вывод кода ошибки -1: не удалось подключиться к БД
}
else
{
$result = mysql_fetch_array($connect_DB);
//выполняем запрос
if($result['id'] == '')
{
$id = "-2";
// вывод кода -2: такого пользователя нет
}
else
{
$id = $result['id'];
$error = "true";
}
}
}
else
{
// Обрабатываем ошибку, т.к. нет переменной $pass
$id = "-3";
// ошибка в переменных
}
}
else
{
// Обрабатываем ошибку, т.к. нет переменной $login
$id = "-3";
// ошибка в переменных
}
}
else
{
// Обрабатываем ошибку, т.к. нет переменной $id
$id = "-3";
// ошибка в переменных
}
// Формируем ответ для флешки
echo "error=". $error ."&id=". $id;
?>
Что-то я опять запутался( Удалил
if(!empty($id)){
if(!empty($login)){
if(!empty($pass)){
И теперь выдает ту же ошибку:
Parse error: syntax error, unexpected '}' in T:\home\192.168.0.102\www\vhod.php on line 41
Спустя 1 минута, 57 секунд (11.01.2012 - 18:50) inpost написал(а):
Если у тебя 2 if, то как может быть 10 else? Иногда надо быть внимательным и думать
Спустя 3 минуты, 50 секунд (11.01.2012 - 18:54) nugle написал(а):
<?php
$log_usr= $_POST['log_usr'];
// получаем логин
$pas_usr = $_POST['pas_usr'];
// получаем пароль
// Изночально $error установим в false
$error = "false";
include ("connect.php");
// подключение к Базе данных
$connect_DB = mysql_query("SELECT * FROM users WHERE log_usr='".$log_usr."' AND pas_usr='".$pas_usr."'", $db);
if(!$connect_DB || $connect_DB == '')
{
$id = "-1";
// вывод кода ошибки -1: не удалось подключиться к БД
}
else
{
$result = mysql_fetch_array($connect_DB);
//выполняем запрос
if($result['id'] == '')
{
$id = "-2";
// вывод кода -2: такого пользователя нет
}
else
{
$id = $result['id'];
$error = "true";
}
}
echo "error=". $error ."&id=". $id;
?>
Спустя 1 час, 40 минут, 23 секунды (11.01.2012 - 20:34) YVSIK написал(а):
nugle
запись не верна эта
звучать должно так
присваиваем переменной $result значения из массива
= mysql_fetch_array от предыдущего запроса и из переменной($connect_DB);
вот так значение этой свтроенной функции звучит для наглядности
цитата из Ирбис
и предпочтительней использовать последнюю вместо той то ты прописал (может и взял из запроса ТС но всё-же )
Godwarlock
что до ТС то так вот это проговори в слух и надо не заучить а понять каков алгоритм действий : цитата вот
запись не верна эта
{
$result = mysql_fetch_array($connect_DB);
//выполняем запрос
звучать должно так
присваиваем переменной $result значения из массива
= mysql_fetch_array от предыдущего запроса и из переменной($connect_DB);
вот так значение этой свтроенной функции звучит для наглядности
цитата из Ирбис
// Обрабатываем ряд результата запроса и записываем в переменную
$arr = mysql_fetch_assoc($result);
// Выводим массив
var_dump($arr);
и предпочтительней использовать последнюю вместо той то ты прописал (может и взял из запроса ТС но всё-же )
Godwarlock
что до ТС то так вот это проговори в слух и надо не заучить а понять каков алгоритм действий : цитата вот
Цитата |
(нет пасса в базе значит один ответ, а если есть другой) |
Спустя 8 минут, 37 секунд (11.01.2012 - 20:43) nugle написал(а):
YVSIK
я брал, даже не вглядываясь в код
ты вод прописал, что лучше использовать mysql_fetch_assoc, а по какой причине не написал...
я брал, даже не вглядываясь в код
ты вод прописал, что лучше использовать mysql_fetch_assoc, а по какой причине не написал...
Спустя 2 минуты, 18 секунд (11.01.2012 - 20:45) Игорь_Vasinsky написал(а):
<?php
include ("connect.php");
$log_usr= !empty($_POST['log_usr']) ? mysql_real_escape_string($_POST['log_usr']) : false;;
// получаем логин
$pas_usr = !empty($_POST['pas_usr']) ? mysql_real_escape_string($_POST['pas_usr']) : false;
// получаем пароль
// Изночально $error установим в false
$error = 0;
// подключение к Базе данных
$connect_DB = mysql_query("SELECT `log_usr`, `pas_usr` FROM `users` WHERE `log_usr` = '".$log_usr."' AND pas_usr='".$pas_usr."'", $db);
if(!$connect_DB || !$log_usr || !$pas_usr)
{
$id = -1;
// вывод кода ошибки -1: не удалось подключиться к БД
}
else
{
$result = mysql_fetch_assoc($connect_DB);
//выполняем запрос
if(!mysql_num_rows($result['id']))
{
$id = -2;
// вывод кода -2: такого пользователя нет
}
else
{
$id = $result['id'];
$error = true;
}
}
echo "error=". $error ."&id=". $id;
?>
а вообще,не понятный механизм.. считать ошибки?
тогда для чего эти пляски с error - true?false
Спустя 2 минуты, 14 секунд (11.01.2012 - 20:48) YVSIK написал(а):
причин несколько есть, и я ссылку дал в перд посте там все расписано и могУ добавить, каждая имеет свое значение тут подходит эта
а это я понял
а это я понял
Цитата |
YVSIK я брал, даже не вглядываясь в код |
и и вот уточнил и для тебя и для ТС
Спустя 2 минуты, 43 секунды (11.01.2012 - 20:50) nugle написал(а):
а если я сделаю так:
mysql_fetch_array($result, MYSQL_ASSOC)
?
mysql_fetch_array($result, MYSQL_ASSOC)
?
Спустя 2 минуты, 36 секунд (11.01.2012 - 20:53) Игорь_Vasinsky написал(а):
ну можешь так. на несколько сиволов больше написал..а зачем?
Спустя 7 минут, 32 секунды (11.01.2012 - 21:00) nugle написал(а):
я написал к тому, что кому как удобнее, дело не в предпочтительности. но сам все равно использую mysql_fetch_assoc)))
Спустя 2 минуты, 59 секунд (11.01.2012 - 21:03) Игорь_Vasinsky написал(а):
ну может и есть какая нить разница в скорости в сторону assoc (всяка мелочная)