Потом ведь он может и 2 и 3 пробела и так далее прикалываться. Короче, написал так:
$pusto = (($_POST['stroka'])!=='')||(($_POST['stroka'])!==' ')||(($_POST['stroka'])!==' ')?1:0;
if ($pusto!==1){
код
}else{
echo "пустой запрос на поиск";
}
Смысл тот, что если 3 пробела и нажата кнопка - вывести сообщение. А он теперь выводит даже если 30 пробелов и нажата клавиша. Это замечательно, так и нужно, но... почему? =) Кто нить может объяснить?
Спустя 9 минут, 33 секунды (16.01.2010 - 16:53) Joker написал(а):
Спустя 8 минут, 4 секунды (16.01.2010 - 17:01) arlamar написал(а):
if (trim($_POST['stroka'])!='') {
//что то делаем.
} else {
//говорим "пошёл вон"
}
Цитата |
Прочитай про эту функцию думаю она тебе поможет сильно. |
а empty тут при чём?
Спустя 4 минуты, 54 секунды (16.01.2010 - 17:06) Vok написал(а):
Joker Спасибо!
Спустя 2 минуты, 27 секунд (16.01.2010 - 17:08) Vok написал(а):
arlamar, дело не в том чтоб убрать пробел перед словом и после. У меня стоит эта функция, но вот пользователь возьмет и введет 3 пробела и нажмет кнопку.
Я понял про empty, переделаю. Вот только вопрос остался, мой код работает - но не пойму почему))))
Я ведь написал
Значит если пользователь введет не 3 а 4 пробела то уже сработать не должно. А я вводил и по 30 пробелов - срабатывал...
Я понял про empty, переделаю. Вот только вопрос остался, мой код работает - но не пойму почему))))
Я ведь написал
$pusto = (($_POST['stroka'])!=='')||(($_POST['stroka'])!==' ')||(($_POST['stroka'])!==' ')?1:0;
Значит если пользователь введет не 3 а 4 пробела то уже сработать не должно. А я вводил и по 30 пробелов - срабатывал...
Спустя 4 минуты, 41 секунда (16.01.2010 - 17:13) Platinum написал(а):
Можно ещё так сделать
Ну если тебе конечно нужно проверять на длину.. хотя я бы так и сделал на твоём месте
if (empty(trim($_POST['stroka']))) //удаляем пробелы вначале и в конце, проверяем на пустоту.
{
// если переменная содержит только одни пробелы пропускаем это
}
else
{
htmlspecialchars($_POST['stroka']); // заменяем опасные символы
### Проверяем длину поискового запроса ###
if(strlen($_POST['stroka']) < 4)
{
echo 'Поисковый запрос должен состоять хотя бы из 4 символов';
exit();
}
}
Ну если тебе конечно нужно проверять на длину.. хотя я бы так и сделал на твоём месте

Спустя 1 минута, 15 секунд (16.01.2010 - 17:14) arlamar написал(а):
короче если пользователь ввёл три пробела а ты проверяешь
то твой скрипт будет "работать". а тебе надо слать нафиг...
так вот trim это самое то. т.к. строка состоит только из пробелов
if (!empty($stroka)) {
//работаем
} else {
//не работаем
}
то твой скрипт будет "работать". а тебе надо слать нафиг...
так вот trim это самое то. т.к. строка состоит только из пробелов
Спустя 4 минуты, 52 секунды (16.01.2010 - 17:19) arlamar написал(а):
следуйщий код приведет к ошибке
надо:
if (empty(trim($_POST['stroka'])))
надо:
$str = trim($_POST['stroka']);
if (empty($str))
Спустя 8 минут, 26 секунд (16.01.2010 - 17:27) Vok написал(а):
Спасибо =)