if(isset($_POST['login'],$_POST['password']))
{
$login=$_POST['login'];
$password=$_POST['password'];
$this->admin_connect_bd();
$result=mysql_query('SELECT login,password FROM adm');
if ($result)
{
while($row=mysql_fetch_array($result))
{
$logg=$row['login'];
$paroll=$row['password'];
if ($logg==$_POST['login'] and $paroll==$_POST['password']);
{
echo "ok";
} else echo "no";
}
}
}
Спустя 6 минут, 22 секунды (4.02.2012 - 22:19) nugle написал(а):
Oggy
ерунда какая то, давай конкретные параметры, по которым надо проверять
ерунда какая то, давай конкретные параметры, по которым надо проверять
Спустя 2 минуты, 37 секунд (4.02.2012 - 22:22) johniek_comp написал(а):
<?php
if(isset($_POST['login'],$_POST['password']))
{
$login = $_POST['login'];
$password = $_POST['password'];
$this->admin_connect_bd();
$result = mysql_query('SELECT login,password FROM `adm`');
if ($result)
{
while($row = mysql_fetch_array($result))
{
$logg = $row['login'];
$paroll = $row['password'];
}
if ($logg == $_POST['login'] and $paroll == $_POST['password'])
echo 'ok';
else
echo 'no';
}
}
?>
передавай попову приветы
Спустя 5 минут, 54 секунды (4.02.2012 - 22:28) nugle написал(а):
johniek_comp
ахах) попов и классы? что то новенькое ты говоришь) если инициализация гет переменных происходит не так - это не значит, что ученик попова
ахах) попов и классы? что то новенькое ты говоришь) если инициализация гет переменных происходит не так - это не значит, что ученик попова
Спустя 2 минуты, 4 секунды (4.02.2012 - 22:30) johniek_comp написал(а):
nugle
ТС хочет свою процедурку на какой-то готовый код положить, естественно перед этим просмотрев еговидеоуроки художества
ТС хочет свою процедурку на какой-то готовый код положить, естественно перед этим просмотрев его
Спустя 4 минуты, 42 секунды (4.02.2012 - 22:34) Лена написал(а):
1.
$login = $_POST['login'] ? $_POST['login'] : '';
$password = $_POST['password'] ? $_POST['password'] : '' ;
2.
$sql = 'SELECT login,password FROM `adm` WHERE login = "' . mysql_real_escape_string($login) . '" AND password = "' . md5(mysql_real_escape_string($password)) . '"';
Написано очень плохо.
$login = $_POST['login'] ? $_POST['login'] : '';
$password = $_POST['password'] ? $_POST['password'] : '' ;
2.
$sql = 'SELECT login,password FROM `adm` WHERE login = "' . mysql_real_escape_string($login) . '" AND password = "' . md5(mysql_real_escape_string($password)) . '"';
Написано очень плохо.
Спустя 3 минуты, 38 секунд (4.02.2012 - 22:38) nugle написал(а):
Лена
а если мы выставим error_reporting(ALL); то что? то ошибки появятся в твоем коде
а если мы выставим error_reporting(ALL); то что? то ошибки появятся в твоем коде
Спустя 35 минут, 12 секунд (4.02.2012 - 23:13) Oggy написал(а):
Цитата (johniek_comp @ 4.02.2012 - 19:22) |
<?php передавай попову приветы |
в $logg $paroll присваевается последнее значение цыкла
сравнивается только последния запис в таблице
Спустя 8 минут, 42 секунды (4.02.2012 - 23:22) wplounge написал(а):
Oggy
- это всегда будет давать true. Лучше сразу проверять на пустоту:
Вот этот запрос:
- выберет вам логины и пароли всех пользователей из таблицы 'adm'. Если хотите проверить пароль какого-то конкретного пользователя, нужно добавить условие:
Вот эта конструкция в вашем случае вообще смысла не имеет:
, т.к. значения переменных $logg и $paroll будут каждый раз переписываться заново. Соответсвенно вот здесть вы никогда не получите "ok" (если только не введете данные юзера, находящегося последним в базе данных):
В общем, настоятельно советую начать читать вот этот курс: http://irbis-team.com/15.
Лена
md5(mysql_real_escape_string($password)) - mysql_real_escape_string здесь не нужен. Строка, закодированная в md5 вреда базе данных не причинит.
if(isset($_POST['login'],$_POST['password'])
- это всегда будет давать true. Лучше сразу проверять на пустоту:
if(!empty($_POST['login']) && !empty($_POST['password']))
Вот этот запрос:
$result = mysql_query('SELECT login,password FROM `adm`');
- выберет вам логины и пароли всех пользователей из таблицы 'adm'. Если хотите проверить пароль какого-то конкретного пользователя, нужно добавить условие:
$result = mysql_query("SELECT login,password FROM `adm` WHERE login = '{$login}'");
Вот эта конструкция в вашем случае вообще смысла не имеет:
while($row = mysql_fetch_array($result))
{
$logg = $row['login'];
$paroll = $row['password'];
}
, т.к. значения переменных $logg и $paroll будут каждый раз переписываться заново. Соответсвенно вот здесть вы никогда не получите "ok" (если только не введете данные юзера, находящегося последним в базе данных):
if ($logg == $_POST['login'] and $paroll == $_POST['password'])
echo 'ok';
else
echo 'no';
В общем, настоятельно советую начать читать вот этот курс: http://irbis-team.com/15.
Лена
md5(mysql_real_escape_string($password)) - mysql_real_escape_string здесь не нужен. Строка, закодированная в md5 вреда базе данных не причинит.
Спустя 12 минут, 54 секунды (4.02.2012 - 23:35) Oggy написал(а):
Цитата (wplounge @ 4.02.2012 - 20:22) |
Oggyif(isset($_POST['login'],$_POST['password']) - всегда будет давать true. Лучше сразу проверять на пустоту: f(!empty($_POST['login']) && !empty($_POST['password'])) Вот этот запрос: $result = mysql_query('SELECT login,password FROM `adm`'); - выберет вам логины и пароли всех пользователей из таблицы 'adm'. Если хотите проверить пароль какого-то конкретного пользователя, нужно добавить условие: $result = mysql_query("SELECT login,password FROM `adm` WHERE login = '{$login}'"); Вот эта конструкция в вашем случае вообще смысла не имеет:
, т.к. значения переменных $logg и $paroll будут каждый раз переписываться заново. Соответсвенно вот здесть вы никогда не получите "ok" (если только не введете данные юзера, находящегося последним в базе данных):
В общем, настоятельно советую начать читать вот этот курс: http://irbis-team.com/15. Лена md5(mysql_real_escape_string($password)) - mysql_real_escape_string здесь не нужен. Строка, закодированная в md5 вреда базе данных не причинит. |
спасибо
Спустя 4 минуты, 36 секунд (4.02.2012 - 23:39) m4a1fox написал(а):
johniek_comp
Ты в ударе сегодня как я погляжу...
Ты в ударе сегодня как я погляжу...

Спустя 10 минут, 35 секунд (4.02.2012 - 23:50) walerus написал(а):
wplounge
Цитата |
- всегда будет давать true. Лучше сразу проверять на пустоту: |
Несогласен с 'Лучше сразу проверять на пустоту', этот код на пробел не сработает. Пример ниже.
<?php
$test = ''; // Проверяем на пустоту
If( !empty( $test ) )
echo "НЕ Пусто";
else
echo "Пусто"; // ОТВЕТ
$test = ' '; // Проверяем на пробел
If( !empty( $test ) )
echo "НЕ Пусто"; // ОТВЕТ т.к. пробел - это вроде как не пусто
else
echo "Пусто";
?>
Предлагаю сделать так:
<?php
If( isset( $_POST['login'] ) && trim( $_POST['login'] ) != '' &&
isset( $_POST['password'] ) && trim( $_POST['password'] ) != '' )
{
// Обработка данных
$login = $_POST['login'];
$password = $_POST['password'];
// И так далее...
}
else
{
// Выводим ошибку, о неправильно указанных данных
}
?>
Так будет учтено и наличие переменных и НЕ пустоты в них.
P.S. Сорри кто уже успел посмотреть, сначала не так написал :rolleyes:
Спустя 6 минут, 13 секунд (4.02.2012 - 23:56) YVSIK написал(а):
/*добавляем проверку на длину ЛОГИНА*/
if (strlen($loginl) < 3 or strlen($loginl) > 15)
/*---*/{/*---*/
unset($loginl);
echo '"Логин" должен состоять от 3 и до 15 символов <br >';
/*---*/}/*---*/
/*обрезаем на лишние пробелы по краям*/
$loginl= trim ($login) ;
/*проверка на не соответствие такого-же в базе */
$result = mysql_query("SELECT `login` FROM `matr_users` WHERE `login` =
'".mysql_real_escape_string($login)."'");
if(mysql_num_rows($result)>0)
//обработка на невыполнение скриптов
$loginl= htmlspecialchars($login) ;
//и для записи в базу это
'".mysql_real_escape_string($login)."'
фонтазии вского рода можно добавть
Спустя 10 минут, 47 секунд (5.02.2012 - 00:07) wplounge написал(а):
walerus
Согласен, забыл про пустоту.
Хотя в данном случае это не так важно, ведь запрос в БД с пробелом вместо логина или пароля просто вернет false.
Согласен, забыл про пустоту.
Хотя в данном случае это не так важно, ведь запрос в БД с пробелом вместо логина или пароля просто вернет false.
Цитата |
Предлагаю сделать так: |
Я бы даже написал короче:
<?php
If(!empty(trim( $_POST['login'] )) && !empty(trim( $_POST['password'] )))
{
// Обработка данных
$login = $_POST['login'];
$password = $_POST['password'];
// И так далее...
}
?>
К тому же здесь же можно отэскейпить их на предмет SQL-инъекций и прочих XSS
Спустя 39 минут, 44 секунды (5.02.2012 - 00:47) walerus написал(а):
wplounge +1

Спустя 2 часа, 34 минуты, 54 секунды (5.02.2012 - 03:22) quickxyan написал(а):
и еще свой кусочек добавлю.
session_start();
if(isset($_REQUEST['login'])){
$error = array(); //массив куда будут складываться ошибки
//все возможные проверки на пустоту и соответствие
if(count($array) == 0){
$sql = "SELECT login,pass FROM `table` WHERE `login` = '".mysql_real_escape_string($_REQUEST['login'])."' LIMIT 1";
$result = mysql_query($sql) or die('Неправильный запрос...');
$row = mysql_fetch_assoc($result);
if($row['id'] != ''){
if($row['pass'] == mysql_real_escape_string($_REQUEST['pass'])){
$_SESSION['login'] = mysql_real_escape_string($_REQUEST['login']);
header('location:index.php');
}else{
$error['pass'] = 'Неверный пароль';
}
}
}else{
foreach($error as $value)
echo $value.'<br/>';
}
}
Спустя 6 часов, 33 минуты, 33 секунды (5.02.2012 - 09:55) johniek_comp написал(а):
m4a1fox
ну так с бана вышел, на нервах весь :)
что бы проверить на пробелы и на пустоту надо такой код брать
универсально :)
ну так с бана вышел, на нервах весь :)
что бы проверить на пробелы и на пустоту надо такой код брать
if(trim($text) && !empty($text))
{
// ваши действия
}
универсально :)
Спустя 46 минут, 29 секунд (5.02.2012 - 10:42) YVSIK написал(а):
Цитата (johniek_comp @ 5.02.2012 - 10:55) |
m4a1fox ну так с бана вышел, на нервах весь ![]() что бы проверить на пробелы и на пустоту надо такой код брать <pre class="sh_sourceCode" rel="php"><span class="sh_control">if</span><span class="sh_symbol">(</span><span class="sh_function">trim</span><span class="sh_symbol">(</span><span class="sh_variable">$text</span><span class="sh_symbol">) && !</span><span class="sh_function">empty</span><span class="sh_symbol">(</span><span class="sh_variable">$text</span><span class="sh_symbol">))</span> <span class="sh_cbracket">{</span> <span class="sh_comment">// ваши действия</span> <span class="sh_cbracket">}</span></pre> универсально ![]() |
Читаем внимательно топик если уже есть, что повторять уже сказанное?
Свернутый текст
хоть ты и на нервах, но лечение тебе не пошло вижу на пользу, опят начал трудиться наследить во всех темах. по поводу и без! ты что пытаешься тут сделать на форуме? застолбит для себя побольше места? к стати тут тебя уже переплюнол один новый юзер, за 6 денй он успел набрать в карму 6 плюсов и побывать поссчитай в 150 темах и получить три предупреждения (это рекорд=одно каждые два дня), у вас что терь с ним будет дуэль кто больше навредит или наследит. на этом форуме?