Обработка данных с формы

RASAMAHA

Новичок
Обработка данных с формы

Есть два файла, оди с HTML формой другой, с обработакой данных с неё. Вопрос возник. Я хочу проверить ввёл ли пользователь что-нибудь.
Проверка такая
PHP:
if ($name == "" and empty($name)){echo "Вы не ввели имя!!!";}
Но при запуске скрипта, это сообщение сразу же вывдодиться, хотя это и понятно переменные же пусты. А как сделать в таком случае?
 

empty

Guest
1) Не $name, а $_POST["name"]
см. http://faq.phpclub.ru/practice.problems.html#practice.problems.register-globals

2) Не if ($name == "" and empty($name)){echo "Вы не ввели имя!!!";}, а if (empty($_POST["name"])){echo "Вы не ввели имя!!!";}

RTFM, RTFM и ещё раз RTFM
 

TuBu

Guest
if (isset($_GET['name']) && $_GET['name'] == ""){echo "Вы не ввели имя!!!";}

или $_POST если Постом передается.
 

RASAMAHA

Новичок
Нет вы не так поняли, я их уже определил так $name = $_POST["name"];
Но проблема не в этом, данные передаються. Надо как-то узнать пустая форма или нет. Но проверкой, пустая ли перемнная, не совсем то выходит. Получеться что при самом старте выводит ошибку о том что ничго не ввели.
Проверяю так if ($name == "" and empty($name)){echo "Вы не ввели имя!!!";}
 

TuBu

Guest
Проверяй так
if (isset($name) && $name == "" and empty($name)){echo "Вы не ввели имя!!!";}
 

iliah

Новичок
RASAMAHA
если переопределил $name = $_POST["name"], надеюсь как-то вроде isset($_POST['name']), то там и проверяй пустая переменная $name или нет

-~{}~ 01.08.04 23:54:

TuBu
он присваивает $name значение из $_POST['name'], зачем второй раз проверять то?
 

alpine

Новичок
TuBu
Нужно внимательно читать [m]empty[/m]!
Для того чтобы не писать такое:
PHP:
$name == "" and empty($name)
 

TuBu

Guest
alpine скажи это
RASAMAHA
Я просто добавил в его код isset()

А мануал можно мне не предлагать. Затерт до дыр :)
 

TuBu

Guest
проблема у человека было именно в этом участке кода, на что я ему и указал.

А вы придираетесь...

злые вы :)
 

alpine

Новичок
TuBu
Я ж не навязываю, я советую! Дело хозяйское конечно.

-~{}~ 01.08.04 23:14:

TuBu
Ты лучше скажи: ты понял где ты не корректно код написал?
 

IL78

Guest
TuBu, а что скажет твоя проверка, если переменная name не isset? А что, по идее, должна бы сказать? ;)

P.S. Никто к тебе не придирается. Просто все хотят помочь тредстартеру, чтобы у него не было проблем в том участке кода.
 

TuBu

Guest
IL78
Если переменная не isset, моя проверка ничего не скажет. Как ей и полагается.

Потому как
я их уже определил так $name = $_POST["name"];
И вообще код работает.
Да. Есть абсолютно бесполезная проверка
$name == ""
Согласен. На работе скрипта, правда, никак не сказывающаяся. Ну да хрен с ней.

Я первый заканчиваю Офф. Тредстартер уже давно наверно понял что у него не так.
 

Romantik

TeaM PHPClub
RASAMAHA
Есть два файла, оди с HTML формой другой, с обработакой данных с неё.
Если в одном форма, а в другом обработка, то почему запускается файл скрипта обработки?
 

RASAMAHA

Новичок
Автор оригинала: Romantik
RASAMAHA

Если в одном форма, а в другом обработка, то почему запускается файл скрипта обработки?
А это плохо? Я вообще новичок. Есть файл с формами, и обработки. Запускаем файл обработки, там все вычисления по переменным, и вывод даных из файла.

-~{}~ 02.08.04 09:50:

О спасибо всем, по поводу проверки, это я запутался кое в чём, найду пимер покажу :) Как я мог про isset забыть...


Объясните в чём отличие $_POST["name"] и $HTTP_POST_VARS['name'] есть какая разница?

-~{}~ 02.08.04 09:56:

Всё пизнаю свою ощибку правильно проверять так
PHP:
if(isset($var)&&($var!=""))
 

Romantik

TeaM PHPClub
А это плохо? Я вообще новичок. Есть файл с формами, и обработки. Запускаем файл обработки, там все вычисления по переменным, и вывод даных из файла.
Нет не плохо, я имел ввиду что ты не форму ИМХО запускаешь а сразу скрипт обработки.
 

empty

Guest
Всё пизнаю свою ощибку правильно проверять так
if(isset($var)&&($var!=""))
да не правильно это. вернее, криво.


TuBu
прежде чем писать ответы, читай ман внимательнее.

RASAMAHA
Использовать empty или isset нужно правильно.

Функция isset() возвращает истину, если переменная определена, и в ней есть или нет значения.

Конструкция языка empty() возвращает истину, если переменной нет, она равноа 0 или пустой строке.

В мане написано: Это противоположно (boolean) var, за исключением того, что никакого предупреждения не генерируется, если переменная не установлена.


Т.е. использование конструкции empty() в твоём случае - предпочтительнее! Не нужно городить проверки на наличие переменной, смотреть пуста ли строка или нет - просто пиши:

PHP:
if(empty($name)) echo "Переменная \$name пуста, равна 0 или вообще не существует";
Ну и для кучи: http://phpclub.ru/talk/showthread.php?old=1&threadid=30705
 
Сверху