|
|
|
| Во всех книжках встречается код который заканчивается exit;
но не где не написано что делать с этим ехитом чтобы сохранить низ дизайна который находиться после exit'a
<?
echo "<hr>";
if ($_GET['a'] == test) {echo "Mega test";} else {echo "bla bla bla"; exit();}
echo "<hr>";
?>
|
Кончено можно сделать шаблоны дизайна и вынести их в отдельные файлы а перед выходом инклудить низ дизайна.
А какие еще есть варианты? | |
|
|
|
|
|
|
|
для: smit272
(15.06.2007 в 17:00)
| | Во всех книжках, где встречается exit() , он является аварийным выходом в ситуации, когда скрипт приходит к выводу, что в нем (или в системном окружении вроде БД) есть ошибки.
Поскольку при нормальном функционировании отлаженного скрипта ошибок окружения быть не должно - это не мешает.
Если же у Вас на сервере крутится скрипт с ошибками - рассуждения о испорченном дизайне могут пойти лесом. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2007 в 17:08)
| | Trianon
А как по твоему тогда проводить проверку на символы в логине, если они окажутся не правильным то весть твой дизайн свалиться в г и что тогда?
Так что иди сам лесом!
Можно конечно постоить условие по другому и поставить exit в конце страницы, после дизайна, но это тоже не очень красивый выход. | |
|
|
|
|
|
|
|
для: smit272
(15.06.2007 в 18:17)
| | А зачем там exit? Это же не ошибка окружения.
Проверили. кривой логин - сформировали новую форму регистрации, указав, что в логине обнаружены ошибки. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2007 в 18:27)
| | Вот кусок кода из книги "Головоломки на PHP для хакера"
<?
...
if($_POST['pass'] != $_POST['pass_again']) exit('Пароли не совпадают');
// Если введён e-mail проверяем его на соответсвие
if(!empty($_POST['email']))
{
if(!preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email']))
{
exit('Поле "E-mail" должно соответствовать формату somebody@somewhere.ru');
}
}
...
?>
|
И что тут прикажете с дизайном делать? | |
|
|
|
|
|
|
|
для: smit272
(15.06.2007 в 21:18)
| | Эээ... да вы не с той книжки ПХП изучать начали. Имхо, хакерам дизайн не важен. ;)
Почитайте лучше
Самоучитель PHP 5 (2 издание)
http://www.softtime.ru/php5/index.php?id_article=94
и
PHP 5. Практика создания web-сайтов
http://www.softtime.ru/php5/index.php?id_article=43 | |
|
|
|
|
|
|
|
для: Drago
(15.06.2007 в 21:23)
| | Не ну серьезно какой выход то? | |
|
|
|
|
|
|
|
для: smit272
(15.06.2007 в 21:57)
| | А что, обязательно exit использовать ? | |
|
|
|
|
|
|
|
для: smit272
(15.06.2007 в 21:57)
| | а там что - какой-то особенный дизайн в этих головоломках?
По-моему, там его просто нет. Соответственно, и слетать нечему.
Берите код из других мест. Там будет и дизайн и код соответствовать друг другу. | |
|
|
|
|
|
|
|
для: smit272
(15.06.2007 в 21:18)
| | if(!preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email']))
{
echo 'Поле "E-mail" должно соответствовать формату somebody@somewhere.ru';
}
else {....} | |
|
|
|
|
|
|
|
для: moonfox
(15.06.2007 в 22:46)
| | Об этом я писал в свое втором посте.
т.е. я сейчас знаю 2 варианта решения вопросов проверки данных и отображения дальнейшего html'a
<?
...
if (empty($_POST['name']) OR empty($_POST['lico']))
{
if (empty($_POST['name'])) {echo "Поле «Название» не заполнено<br>";}
if (empty($_POST['lico'])) {echo "Поле «Владелец» не заполнено<br>";}
}
else
{
... # Работа с переменными
}
...
?>
|
Этот мне больше нравиться, т.к. удобнее код читать (вынесением низа в отдельный файл footer.php)
<?
...
if (empty($_POST['name']) OR empty($_POST['lico']))
{
if (empty($_POST['name'])) {echo "Поле «Название» не заполнено<br>";}
if (empty($_POST['lico'])) {echo "Поле «Владелец» не заполнено<br>"; }
include "footer.php";
exit;
}
... # Работа с переменными
...
?>
|
но может есть еще какие-то? | |
|
|
|
|
|
|
|
для: smit272
(16.06.2007 в 00:53)
| | Правельно ли я использую 2-ой вариант? | |
|
|
|
|
|
|
|
для: smit272
(16.06.2007 в 22:44)
| | лучше так:
<?
include "page_style.php";
...
if (empty($_POST['name']) OR empty($_POST['lico']))
{
if (empty($_POST['name'])) {echo "Поле «Название» не заполнено<br>";}
if (empty($_POST['lico'])) {echo "Поле «Владелец» не заполнено<br>"; }
echo gen_footer();
exit;
}
... # Работа с переменными
...
?>
|
| |
|
|
|
|
|
|
|
для: smit272
(16.06.2007 в 22:44)
| | Только с exit'ом до "Работа с переменными" дело не дойдет...
- - -
ммм... а, наверное, и не надо... | |
|
|
|
|
|
|
|
для: smit272
(15.06.2007 в 17:00)
| | Почитайте об исключениях | |
|
|
|
|
|
|
|
для: Temnovit
(15.06.2007 в 17:55)
| | у меня была подобная проблема. я ее решил так:
function ex_my ($text)
{
echo "$text";
require_once("bottom.php");
exit ();
}
|
bottom.php -- код нижней части страницы. тогда просто все exit заменяеш на ex_my. | |
|
|
|
|
|
|
|
для: выдр
(17.06.2007 в 18:52)
| | Вот что-то типа такого я и хотел увидеть.
Спс большое! | |
|
|
|