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

Форум PHP

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

 

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

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

тема: Разбить строку запроса и в GET, и в POST
 
 автор: sim5   (24.12.2006 в 04:17)   письмо автору
 
 

Помогите, что у меня не правильно или как правильно?

Запрос к страницам происходит по принципу:

index.php?pages - где, естественно, pages - имя какой либо страницы.

Мне нужно знать, к какой странице произошло обращение, чтобы сделать пассивной кнопку главного меню этой страницы, плюс другие вещи. Делаю так:


if (strlen($QUERY_STRING)==0)  //гарантированно узнаю главную страницу
      {
         // обработчик для главной страницы
      }
else
      {
        $res = explode("&",$QUERY_STRING);  //режем по &, плюс по =, избавляясь от переменных  
        $res[0] = //тому где находимся
        //выполняем необходимое
      }


Все нормально работает, пока вызов страницы происходит из явно указанного URL. Но если к этой странице обращение идет из какой либо формы (метод POST), в блок else я уже не попадаю. Пробовал и по другому, всеравно - при POST запросах ни чего не получается, если только не писать явно:

if (isset($_POST["pages"]))

Но не ставить же условия на все страницы. Как узнать что, например, при:

index.php?page1 - далее могут быть вариации (но не обязательно)

и

<form action="index.php" method="post">
<input type="hidden" name="page1">
</form>


это обращение к одной и той же странице - page1, тоесть всегда знать, что если это не главная страница, то имя первой переменной в запросе, при любых методах обращения.

   
 
 автор: Саня   (24.12.2006 в 04:53)   письмо автору
 
   для: sim5   (24.12.2006 в 04:17)
 

<?
if ( empty($_GET['pages']) ) {
  
// обработчик для главной страницы
} else {
  print 
"Вы обратились к странице ".$_GET['pages'];
}
И не нужно идти окольными путями.

   
 
 автор: sim5   (24.12.2006 в 05:03)   письмо автору
 
   для: Саня   (24.12.2006 в 04:53)
 

Я только что дополнил свое собщение, типа этого я пробовал - не получается.
Мне всегда как раз надо знать, а не указывать в условии то, чего не знаю.

   
 
 автор: Trianon   (24.12.2006 в 10:33)   письмо автору
 
   для: sim5   (24.12.2006 в 04:17)
 

Кто Вам мешает написать
<form action="index.php?page1" method="post">
</form>
?

   
 
 автор: sim5   (24.12.2006 в 10:48)   письмо автору
 
   для: Trianon   (24.12.2006 в 10:33)
 

Ни кто, но уменя почему-то в любом случае (хоть в прописываю так, хоть через hidden), скрип обрабатывающий шапку страницы, при запросах POST проскакивает место обработки. Так как будто запросов вобще не было, но страницы при этом исправно открывются. И выловить этот запрос не могу. Не пойму почему. А обрабатывать необходимые переменные в обработчике странице поздно - в это время шапка уже отдана в шаблон.


P.S. Все - снимается. Правильно, так и нужно

<form action="index.php?page1" method="post">

только, убрать свою ошибку. Благодарю.

   
Rambler's Top100
вверх

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