Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: exit и варианты дизайн сайта
 
 автор: smit272   (15.06.2007 в 17:00)   письмо автору
 
 

Во всех книжках встречается код который заканчивается exit;
но не где не написано что делать с этим ехитом чтобы сохранить низ дизайна который находиться после exit'a


<?
echo "<hr>";
if (
$_GET['a'] == test) {echo "Mega test";} else {echo "bla bla bla"; exit();}
echo 
"<hr>";
?>


Кончено можно сделать шаблоны дизайна и вынести их в отдельные файлы а перед выходом инклудить низ дизайна.
А какие еще есть варианты?

   
 
 автор: Trianon   (15.06.2007 в 17:08)   письмо автору
 
   для: smit272   (15.06.2007 в 17:00)
 

Во всех книжках, где встречается exit() , он является аварийным выходом в ситуации, когда скрипт приходит к выводу, что в нем (или в системном окружении вроде БД) есть ошибки.
Поскольку при нормальном функционировании отлаженного скрипта ошибок окружения быть не должно - это не мешает.
Если же у Вас на сервере крутится скрипт с ошибками - рассуждения о испорченном дизайне могут пойти лесом.

   
 
 автор: smit272   (15.06.2007 в 18:17)   письмо автору
 
   для: Trianon   (15.06.2007 в 17:08)
 

Trianon
А как по твоему тогда проводить проверку на символы в логине, если они окажутся не правильным то весть твой дизайн свалиться в г и что тогда?
Так что иди сам лесом!

Можно конечно постоить условие по другому и поставить exit в конце страницы, после дизайна, но это тоже не очень красивый выход.

   
 
 автор: Trianon   (15.06.2007 в 18:27)   письмо автору
 
   для: smit272   (15.06.2007 в 18:17)
 

А зачем там exit? Это же не ошибка окружения.
Проверили. кривой логин - сформировали новую форму регистрации, указав, что в логине обнаружены ошибки.

   
 
 автор: smit272   (15.06.2007 в 21:18)   письмо автору
 
   для: 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');
    }
  }
...
?>


И что тут прикажете с дизайном делать?

   
 
 автор: Drago   (15.06.2007 в 21:23)   письмо автору
 
   для: 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

   
 
 автор: smit272   (15.06.2007 в 21:57)   письмо автору
 
   для: Drago   (15.06.2007 в 21:23)
 

Не ну серьезно какой выход то?

   
 
 автор: Richard Ferlow   (15.06.2007 в 22:36)   письмо автору
 
   для: smit272   (15.06.2007 в 21:57)
 

А что, обязательно exit использовать ?

   
 
 автор: Trianon   (15.06.2007 в 22:44)   письмо автору
 
   для: smit272   (15.06.2007 в 21:57)
 

а там что - какой-то особенный дизайн в этих головоломках?
По-моему, там его просто нет. Соответственно, и слетать нечему.

Берите код из других мест. Там будет и дизайн и код соответствовать друг другу.

   
 
 автор: moonfox   (15.06.2007 в 22:46)   письмо автору
 
   для: 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 {....}

   
 
 автор: smit272   (16.06.2007 в 00:53)   письмо автору
 
   для: moonfox   (15.06.2007 в 22:46)
 

Об этом я писал в свое втором посте.

т.е. я сейчас знаю 2 варианта решения вопросов проверки данных и отображения дальнейшего html'a
<?
...

       if (empty(
$_POST['name']) OR empty($_POST['lico']))
       {
        if (empty(
$_POST['name'])) {echo "Поле &laquo;Название&raquo; не заполнено<br>";}
        if (empty(
$_POST['lico'])) {echo "Поле &laquo;Владелец&raquo; не заполнено<br>";}
       }
       
       else
       {
        ... 
# Работа с переменными
       
}
...
?>


Этот мне больше нравиться, т.к. удобнее код читать (вынесением низа в отдельный файл footer.php)

<?
...
       if (empty(
$_POST['name']) OR empty($_POST['lico'])) 
       {       
        if (empty(
$_POST['name'])) {echo "Поле &laquo;Название&raquo; не заполнено<br>";}
        if (empty(
$_POST['lico'])) {echo "Поле &laquo;Владелец&raquo; не заполнено<br>"; }
         include 
"footer.php"
         exit;
       }
      
        ... 
# Работа с переменными

...
?>


но может есть еще какие-то?

   
 
 автор: smit272   (16.06.2007 в 22:44)   письмо автору
 
   для: smit272   (16.06.2007 в 00:53)
 

Правельно ли я использую 2-ой вариант?

   
 
 автор: Trianon   (16.06.2007 в 23:57)   письмо автору
 
   для: smit272   (16.06.2007 в 22:44)
 

лучше так:

<? 
         
include "page_style.php";  
... 
       if (empty(
$_POST['name']) OR empty($_POST['lico']))  
       {        
        if (empty(
$_POST['name'])) {echo "Поле &laquo;Название&raquo; не заполнено<br>";} 
        if (empty(
$_POST['lico'])) {echo "Поле &laquo;Владелец&raquo; не заполнено<br>"; } 
         echo 
gen_footer();
         exit; 
       } 
       
        ... 
# Работа с переменными 

... 
?> 

   
 
 автор: kasmanaft   (17.06.2007 в 12:25)   письмо автору
 
   для: smit272   (16.06.2007 в 22:44)
 

Только с exit'ом до "Работа с переменными" дело не дойдет...
- - -
ммм... а, наверное, и не надо...

   
 
 автор: Temnovit   (15.06.2007 в 17:55)   письмо автору
 
   для: smit272   (15.06.2007 в 17:00)
 

Почитайте об исключениях

   
 
 автор: выдр   (17.06.2007 в 18:52)   письмо автору
 
   для: Temnovit   (15.06.2007 в 17:55)
 

у меня была подобная проблема. я ее решил так:

function ex_my ($text)
{
  echo "$text";
  require_once("bottom.php");
  exit ();
}

bottom.php -- код нижней части страницы. тогда просто все exit заменяеш на ex_my.

   
 
 автор: smit272   (18.06.2007 в 00:42)   письмо автору
 
   для: выдр   (17.06.2007 в 18:52)
 

Вот что-то типа такого я и хотел увидеть.
Спс большое!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования