Здравствуйте. Неделю в php, делаю лабы в универе по примеру, но как большинство они не верны. Суть проблемы такова, мне нужно что бы проверяло обязательные данные для заполнения и при не заполненных полях выбивало Ошибку, если же все обязательные поля заполнены обрабатывало страницу. Знаю как сделать для 1 значения проверку но когда добавляю в if еще одно значение при помощи or, он не проверяет все а просто выбивает что все не заполнено, прошу помочь. Сам код: Код (PHP): <html> <head> <title> Форма ввода пользовательских данных </title> </head> <body> <? if ($_POST["password"]!=$_POST["password2"]) { echo "Введенные пароли отличаются"; } else { if ($_SERVER["REQUEST_METHOD"]=="POST") { if ($_POST["fam" or "otch" or "emale" or "password" or "password2" or "comments"]=="") { echo "Не введены обязательные данные"; } else { echo "<b>Привет,  </b>". $_POST["fam"]. " " ; echo $_POST["name"]. "  "; echo $_POST["otch"]. " "; echo "<br><b>Ваш логин: </b>". $_POST["login"]. ""; echo "<br><b>Ваш пароль: </b>". $_POST["password"]. ""; echo "<br><b>Ваш электронный адрес: </b>". $_POST["emale"]. ""; echo "<br><b>Языки которыми вы владеете: </b>"; if (isset($_POST["russ"])) echo $_POST["russ"]. " "; if (isset($_POST["bel"])) echo $_POST["bel"]. " "; if (isset($_POST["angl"])) echo $_POST["angl"]. " "; if (isset($_POST["Isp"])) echo $_POST["Isp"]. " "; echo "<br><b>Ваш пол: </b>". $_POST["sex"]. ""; echo "<br><b>Ваше образование: </b>". $_POST["obr"]. ""; echo "<br><b>Город проживания: </b>". $_POST["Gorod"]. ""; echo "<br><b>Ваша профессия: </b>". $_POST["Prof"]. ""; echo "<br><b>О себе: </b>". $_POST["comments"]. ""; } } else { ?> <FORM METHOD="POST" ACTION="lab3.1.php"> <table align="center"> <tr> <td> Введите Имя: </td> <td><INPUT NAME="name" type="text"><b><font color="red" size="4px">*</b></td> </tr> <tr> <td> Введите Фамилия: </td> <td><INPUT NAME="fam" type="text"><b><font color="red" size="4px">*</b></td> </tr> <tr> <tr> <td> Введите Отчество: </td> <td> <INPUT NAME="otch" type="text"><b><font color="red" size="4px">*</b></td> </tr> <tr> <td> Введите Ваш Логин: </td> <td><INPUT NAME="login" type="text"></td> </tr> <tr> <td> Введите Ваш пароль: </td> <td><input name="password" type="password"><b><font color="red" size="4px">*</b></td> </tr> <tr> <td> Подтвердите пароль: </td> <td><input name="password2" type="password"><b><font color="red" size="4px">*</b></td> </tr> <tr> <td> Введите Ваш электронный адрес: </td> <td><input name="emale" type="text"><b><font color="red" size="4px">*</b></td> </tr> <tr> <td colspan="2" align="center"> Выберите языки которыми вы владеете </td> </tr> <tr> <td colspan="2"><INPUT TYPE="CHECKBOX" NAME="russ" VALUE="Русский"> Русский <INPUT TYPE="CHECKBOX" NAME="bel" VALUE="Беларусский"> Беларусский <INPUT TYPE="CHECKBOX" NAME="angl" VALUE="Английский"> Английский <INPUT TYPE="CHECKBOX" NAME="Isp" VALUE="Испанский"> Испанский </td> <tr> <td valign="top"> Выберите ваш пол: </td> <td> <INPUT TYPE="RADIO" NAME="sex" VALUE="Мужчина" CHECKED> Мужчина <br> <INPUT TYPE="RADIO" NAME="sex" VALUE="Женщина" > Женщина <br> </td> </tr> <tr> <td valign="top"> Выберите ваше образование: </td> <td> <INPUT TYPE="RADIO" NAME="obr" VALUE="Среднее" CHECKED> Среднее <br> <INPUT TYPE="RADIO" NAME="obr" VALUE="Средне-специальное" > Средне-специальное <br> <INPUT TYPE="RADIO" NAME="obr" VALUE="Высшее" > Высшее <br> </td> </tr> <tr> <td> Город проживания </td> <td><SELECT NAME="Gorod"> <OPTION VALUE="Гродно"> Гродно </OPTION> <OPTION VALUE="Гомель"> Гомель </OPTION> <OPTION VALUE="Брест"> Брест </OPTION> <OPTION VALUE="Минск"> Минск </OPTION> <OPTION VALUE="Витебск"> Витебск </OPTION> </SELECT> </td> </tr> <tr> <td> Ваша профессия </td> <td><SELECT NAME="Prof"> <OPTION VALUE="Сварщик"> Сварщик </OPTION> <OPTION VALUE="Монтажник"> Монтажник </OPTION> <OPTION VALUE="Слесарь"> Слесарь </OPTION> <OPTION VALUE="Плиточник"> Плиточник </OPTION> <OPTION VALUE="Физик-ядерщик"> Физик-ядерщик </OPTION> </SELECT> </td> </tr> <tr> <td colspan="2"> Расскажите о себе. </td> </tr> <tr> <td colspan="2"> <TEXTAREA NAME="comments" ROWS="5" COLS="54"VALUE="Здесь Вы рассказываете о себе"></TEXTAREA><b><font color="red" size="4px">*</b> </tr> </td> <tr> <td width=50% align="center"><input type="submit" value="Отправить"></td> <td width=50% align="center"><input type="reset" value="Сброс"> </td> </tr> <tr> <td colspan="2" align="center"><b><font color="red" size="5px" > Поля с * обязательны для заполнения </b></td> </table> <? } ?> </FORM> <? } ?> </body> </html> Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
ключ реквест-метод суперглобального массива сервер. ок. ключ результат выражения строка "фам" или строка "отч" или строка "имейл" или строка "пасворд" или строка "пасворддва" или строка "комментс" суперглобального массива пост. первая же строка (фам если чо) будет скастована в логическую истину и потом будет искаться ключ (по результату выражения) 1. а вот дальше ты не используешь результаты выражений: и так далее...
Т.е. надо: Код (PHP): if ($_POST ["fam"]=="" or $_POST["name"]=="".... и т.д. { echo "Не введены обязательные данные"; } else { я так понимаю?
вполне нормально будет сказать, что тебе подсказали на форуме. Если ты знаешь, почему именно лучше проверять через empty(). Знать нужно, знать. Тогда ты будешь крутой.