Спустя 1 минута, 37 секунд (2.02.2010 - 13:19) krasilich написал(а):
isset пропустит ноль или пустую строку
Проверка на пустоту
$t = 0;
isset($t); //true
!empty($t); // false
Проверка на пустоту
$login = !empty($_POST['login'])?$_POST['login']:null;
$pass = !empty($_POST['pass'])?$_POST['pass']:null;
if($login && $pass)
{
echo 'Все ОК';
}
else
{
echo 'Что-то не заполнено';
}
Спустя 7 минут, 8 секунд (2.02.2010 - 13:27) Dimaz написал(а):
То есть лучше использовать empty. Только я не понимаю зачем перед функцией ставится оператор отрицания(!)? Она же вроде в таком случаи возвратит TRUE а не FALSE.
Спустя 2 минуты, 17 секунд (2.02.2010 - 13:29) Dimaz написал(а):
?$_POST['login']:null;
А это еще что такое?
А это еще что такое?
Спустя 49 секунд (2.02.2010 - 13:30) Kuliev написал(а):
Dimaz
Читай в мануале про функцию empty()
Читай в мануале про функцию empty()
Спустя 1 минута, 39 секунд (2.02.2010 - 13:31) Kuliev написал(а):
Цитата (Dimaz @ 2.02.2010 - 15:29) |
?$_POST['login']:null; А это еще что такое? |
Это называется тернарным оператором, если все ОК то выполняется правое условие если нет то левое!
Спустя 6 минут, 9 секунд (2.02.2010 - 13:37) Dimaz написал(а):
Левый проверяет как я понял не пустое ли поле. Стесняюсь спросить а правый оператор что же тогда делает?
Спустя 4 минуты, 43 секунды (2.02.2010 - 13:42) krasilich написал(а):
Условие ? выполняем если условие true : выполняем если условие false ;
Чем-то похоже на конструкцию
if(условие)
{
Выполняем, если условие true
}
Чем-то похоже на конструкцию
if(условие)
{
Выполняем, если условие true
}
Спустя 11 минут, 48 секунд (2.02.2010 - 13:54) Dimaz написал(а):
$login = !empty($_POST['login'])?$_POST['login']:null;
То есть если прочитать этот код человеческим языком то получится так:
1)Проверка не пустое ли поле логин - !empty($_POST['login'])
2)Если оно не пустое, то заносим его значение в переменную $login - ?$_POST['login']
3)Если поле пустое то возвращаем пустой объект что ли?
Че то не врубаюсь все равно окончательно)))
Спустя 5 минут, 58 секунд (2.02.2010 - 14:00) DedMorozzz написал(а):
If (!empty($_POST['login']))
{
$Login=$_POST['login'];
}
else
{
$login=null;
}
и сравни с этой записью :
$login = !empty($_POST['login'])?$_POST['login']:null;
Спустя 2 минуты, 58 секунд (2.02.2010 - 14:03) krasilich написал(а):
Dimaz
Все верно, ты наверно не понял что такое NULL. Это особый тип данных, который обозначает "ничего". Вместо него можно вставить и пустую строку и 0 и false
Вообще, если такая тяга к человеческому языку, то вот....
Код рабочий, кстати=))
Все верно, ты наверно не понял что такое NULL. Это особый тип данных, который обозначает "ничего". Вместо него можно вставить и пустую строку и 0 и false
Вообще, если такая тяга к человеческому языку, то вот....
$ничего = null;
$ФОРМА = $_POST;
function не_пустой ($значение)
{
return !empty($значение);
}
$пароль = не_пустой($ФОРМА['пароль'])?$ФОРМА['пароль']:$ничего;
$логин = не_пустой($ФОРМА['логин'])?$ФОРМА['логин']:$ничего;
Код рабочий, кстати=))
Спустя 12 минут, 22 секунды (2.02.2010 - 14:15) Dimaz написал(а):
DedMorozzz, все равно не врубаюсь(идиот потому что ) зачем оператор "!" стоит перед функцией, ведь функция empty возвращает значение TRUE в том случаи если поле не заполнено и значение FALSE если поле заполнено, а с оператором отрицания "!" получается все наоборот. Тогда смысла не понимаю.
Спустя 4 минуты (2.02.2010 - 14:19) DedMorozzz написал(а):
если не пустое поле(!empty), тогда мы присваеваем переменой "логин" значение этого поля($Login=$_POST['login']), иначе(если оно таки пустое) - присваеваем "нулл"($Login=null).
А если делать без "!", то каков будет результат если такого поля нету?
А если делать без "!", то каков будет результат если такого поля нету?
Спустя 1 минута, 11 секунд (2.02.2010 - 14:20) Dimaz написал(а):
see man, спасибо за человеческий язык Ну вот получается, что если поле пустое то в переменную записывается пустой объект, то есть ничего. И куда потом это "ничего" применять?
Спустя 2 минуты, 35 секунд (2.02.2010 - 14:23) DedMorozzz написал(а):
иф логин = нулл - алерт, иль надпись: "выне заполниле все поля, раскайтесь и вернитесь обратно, для заполнения". Что то в таком роде. Вариантов масса..
Спустя 1 минута, 44 секунды (2.02.2010 - 14:25) krasilich написал(а):
Dimaz
Тебе посоветовали почитать мануал по empty. Ты это сделал, только чесно?
Если да, то покажи нам тот мануал где написано, что empty возвращает true, если поле не пустое?
Блин, я уже сам запутался...
Факт в том, что empty возвращает значиния, скажем так, инвертированно к isset.
Тоесть если isset вернет true, то empty вернет false, и наоборот.
(С поправкой на различия между этими функциями)
Вот этим и обьясняется инвертирование.
Тебе посоветовали почитать мануал по empty. Ты это сделал, только чесно?
Если да, то покажи нам тот мануал где написано, что empty возвращает true, если поле не пустое?
Блин, я уже сам запутался...
Факт в том, что empty возвращает значиния, скажем так, инвертированно к isset.
Тоесть если isset вернет true, то empty вернет false, и наоборот.
(С поправкой на различия между этими функциями)
Вот этим и обьясняется инвертирование.
Спустя 2 минуты, 17 секунд (2.02.2010 - 14:27) Dimaz написал(а):
<?
//проверка данных
$login = $_POST['login'];
$pass = $_POST['pass'];
if (empty($login))
{
echo "Не заполнено поле логин!";
exit();
}
else if(empty($pass))
{
echo "Не заполнено поле пароль!";
exit();
}
?>
Вот мой скрипт, разве не то же самое? И без оператора "!".
Спустя 1 минута, 38 секунд (2.02.2010 - 14:29) Dimaz написал(а):
see man мой скрипт как раз говорит об этом))) Ведь сообщение выводится если условие TRUE. Так вот если поле пустое, то возвращается значение TRUE и выводится сообщение об ошибке
Спустя 1 минута, 42 секунды (2.02.2010 - 14:30) Dimaz написал(а):
see man, подожди ка, так я как раз наоборот говорю, что TRUE если поле пустое
Спустя 1 минута, 45 секунд (2.02.2010 - 14:32) krasilich написал(а):
Ну так ты в своем скрипте ищешь пустое поле, а я в смоем ищу НЕ пустое.
Спустя 2 минуты, 30 секунд (2.02.2010 - 14:35) krasilich написал(а):
Цитата |
Returns FALSE if var has a non-empty and non-zero value. |
А мне нужно false если поле пустое, что бы записать в него null, поэтому и инвертирую.
Что еще не ясно?
Спустя 2 минуты, 31 секунда (2.02.2010 - 14:37) Dimaz написал(а):
Ах вот где Деды Морозы зимуют А я думаю почему где то так пишут, а где то по иному. Теперб все понятно. Спасибо за ответы господа! И кстати лучше искать пустое поле или не пустое, или без разницы?(последний вопрос)
Спустя 2 минуты, 32 секунды (2.02.2010 - 14:40) krasilich написал(а):
Зависит от логики скрипта=)
Вообще для php без разницы, напишешь ты
Вообще для php без разницы, напишешь ты
$login = !empty($_POST['login'])?$_POST['login']:null;
//или
$login = empty($_POST['login'])?null:$_POST['login'];
Спустя 2 минуты, 5 секунд (2.02.2010 - 14:42) Soldier Ghost написал(а):
$login = !empty($_POST['login']) ? trim($_POST['login']):NULL;
проверка:
if(!empty($login))
{
//...делаем что нужно
}
Не пропустит ничего даже пробелов с интерами )
Спустя 2 минуты, 18 секунд (2.02.2010 - 14:44) Dimaz написал(а):
Круто! Спасибо!!!
Спустя 1 минута, 51 секунда (2.02.2010 - 14:46) Dimaz написал(а):
Soldier Ghost это то что ты ниже написал или вместе верхнее с нижним?
Спустя 2 минуты, 58 секунд (2.02.2010 - 14:49) krasilich написал(а):
Soldier Ghost
Скорее
Скорее
$login = !empty(trim($_POST['login'])) ?$_POST['login']:NULL;
Спустя 2 минуты, 54 секунды (2.02.2010 - 14:52) Dimaz написал(а):
see man а без trim() пропустит разве пробелы?
Спустя 2 минуты, 25 секунд (2.02.2010 - 14:54) Kuliev написал(а):
Цитата (Dimaz @ 2.02.2010 - 16:52) |
see man а без trim() пропустит разве пробелы? |
А ты попробуй и узнаешь, экспериментируй ))
Спустя 4 минуты (2.02.2010 - 14:58) Dimaz написал(а):
Kuliev, ага пропускает с пробелами!