Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Что такое переход между страницами в виде Get запроса

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
cg
Отправлено: 11 Мая, 2010 - 19:04:41
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




Здравствуйте!

Что означает следующие
" Переход между страницами через GET-запрос в виде: index.php?act=abc "
Есть конечно несколько страниц, главная index.php (она скриптом обрабатывается первой)
потом идут переходы на другие страницы.

Для перехода через GET-запрос нужно вбивать в адресную строку что то или значение переменной 'act' можно менять в самом коде?????

И вообще для чего подобная структура (index.php?act=abc )?
 
 Top
ZeiZ
Отправлено: 11 Мая, 2010 - 19:28:14
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




сделано для многих целей:

ИМХО самое ценное в конструкции: единая точка входа на сайт, т.е. на сайте существует 1 страница сборщик\обработчик, всё остальное скрипты.

Пример с конструкцией switch:

parser.php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. switch ($_GET['act']) //am - модуль сайта
  3. {
  4. case "news":
  5.       $title = "Новости моей паги";
  6.       include("1part.php"); // подключаем всё до блока новостей
  7.       if (isset($_GET['id'])) include ("news_show.php"); // если есть id новости, то выводим новость с этой ИД
  8.       else include ("news.php"); // выводим список всех новостей
  9.       break;
  10.  
  11. case "register":
  12.       $title = "Регистрация на хомячке";
  13.       include("1part.php"); // подключаем всё до блока регистрации
  14.       include ("register.php"); // выводим форму регистрации
  15.       break;
  16. }
  17.  
  18.       include("foot.php"); // при условии, что фут одинаков для всех сайтов
  19. ?>


это конечно очень простой пример, но надеюсь он поможет.
соответственно если ввести
index.php?act=news - будут новости, index.php?act=news&id=N - определённая новость

и т.д.

то есть $_GET['act'] = тому что идёт после act= и до &
$_GET['id'] = тому что идёт после id= и до конца или до &
 
 Top
Prog
Отправлено: 11 Мая, 2010 - 19:28:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




На сколько я понимаю то все страницы лежат в БД . И когда $_GET['act'] существует то скрипт берет страницу из БД . Поправьте если я не прав .
 
 Top
SAD
Отправлено: 11 Мая, 2010 - 20:06:41
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Да Prog, насмешили Вы меня. LOL
 
 Top
Prog
Отправлено: 11 Мая, 2010 - 20:19:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Хм Да я 15 летний нуб , ха-ха .

P.S. Ура , 100 сообщение на форуме .
 
 Top
ZeiZ
Отправлено: 11 Мая, 2010 - 20:27:28
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




Prog пишет:
На сколько я понимаю то все страницы лежат в БД . И когда $_GET['act'] существует то скрипт берет страницу из БД . Поправьте если я не прав .

не понял к чему это?
 
 Top
Prog
Отправлено: 11 Мая, 2010 - 21:15:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




ZeiZ пишет:
не понял к чему это?

Забей .
 
 Top
toropss
Отправлено: 11 Мая, 2010 - 21:42:31
Post Id


Гость


Покинул форум
Сообщений всего: 85
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Нужно для того чтоб например вывести определенные данные из БД

Например есть id=1
Пишется запрос где нужна вывести такую та статью например у которой поле id равно 1
Ну как то так.

(Отредактировано автором: 11 Мая, 2010 - 21:48:47)

 
 Top
Prog
Отправлено: 11 Мая, 2010 - 22:30:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




toropss пишет:
Нужно для того чтоб например вывести определенные данные из БД

Например есть id=1
Пишется запрос где нужна вывести такую та статью например у которой поле id равно 1
Ну как то так.

Я это и имел введу , а меня еще лолом обозвали Огорчение

(Отредактировано автором: 11 Мая, 2010 - 22:32:32)

 
 Top
cg
Отправлено: 11 Мая, 2010 - 23:09:01
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




ZeiZ пишет:
сделано для многих целей:

ИМХО самое ценное в конструкции: единая точка входа на сайт, т.е. на сайте существует 1 страница сборщик\обработчик, всё остальное скрипты.

Пример с конструкцией switch:

parser.php

PHP:
скопировать код в буфер обмена

PHP:
скопировать код в буфер обмена
  1.  1.
  2.       <?PHP
  3.    2.
  4.       switch ($_GET['act']) //am - модуль сайта
  5.    3.
  6.       {
  7.    4.
  8.       case "news":
  9.    5.
  10.             $title = "Новости моей паги";
  11.    6.
  12.             include("1part.php"); // подключаем всё до блока новостей
  13.    7.
  14.             if (isset($_GET['id'])) include ("news_show.php"); // если есть id новости, то выводим новость с этой ИД
  15.    8.
  16.             else include ("news.php"); // выводим список всех новостей
  17.    9.
  18.             break;
  19.   10.
  20.        
  21.   11.
  22.       case "register":
  23.   12.
  24.             $title = "Регистрация на хомячке";
  25.   13.
  26.             include("1part.php"); // подключаем всё до блока регистрации
  27.   14.
  28.             include ("register.php"); // выводим форму регистрации
  29.   15.
  30.             break;
  31.   16.
  32.       }
  33.   17.
  34.        
  35.   18.
  36.             include("foot.php"); // при условии, что фут одинаков для всех сайтов
  37.   19.
  38.       ?>
  39.  



1. Ну вот загружается первая страница, переменная $_GET['act'] - пустая??
То есть адресная строка будет такой ..../index.php
(а не такой .../index.php?act="x") хотя это может быть не принципиально ???
2. Пожалуй главное ->> "news" и/или "register", эти переменные в $_GET['act'] можно ввести только через адресную строку или есть другие способы???
То есть если " Переход между страницами через GET-запрос в виде: index.php?act=abc "
то работа вся идет через адресную строку?? Или как обычно по нажатию на кнопку или ссылки, но при этом меняться адресная строка на нужный вид (как?).

(Отредактировано автором: 11 Мая, 2010 - 23:10:38)

 
 Top
andrweb
Отправлено: 11 Мая, 2010 - 23:18:23
Post Id



Гость


Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2009  
Откуда: РОССИЯ Ростов-на-Дону


Помог: 0 раз(а)




Можно и через сессию. Но это часть у тебя правильная вроде. Попробуй отправить что-то типа ../index.php?act="1"


-----
Горбатого могила исправит.
 
 Top
Prog
Отправлено: 12 Мая, 2010 - 12:19:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 207
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




andrweb пишет:
Можно и через сессию. Но это часть у тебя правильная вроде. Попробуй отправить что-то типа ../index.php?act="1"


Если сделано с помощью switch то если ни одно из значений act не подойдет то оно может просто вывести "Вы чего химичите , не трогайте url" .
 
 Top
igordata
Отправлено: 12 Мая, 2010 - 13:17:07
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




как готовый вариант, чтобы не забивали себе голову:

запись в .htaccess
CODE (htmlphp):
скопировать код в буфер обмена
  1. <IfModule mod_rewrite.c>
  2.   RewriteEngine on
  3.   RewriteCond %{REQUEST_FILENAME} !-f
  4.   RewriteCond %{REQUEST_FILENAME} !-d
  5.   RewriteCond %{REQUEST_URI} !=/favicon.ico
  6.   RewriteRule ^(.*)$ index.php?$1 [L,QSA]
  7. </IfModule>

и
CODE (htmlphp):
скопировать код в буфер обмена
  1. $_SERVER['REQUEST_URI'];

позволяют обрабатывать урлы типа http://www[dot]test[dot]ru/pipiska одним index.php
 
 Top
JustUserR
Отправлено: 12 Мая, 2010 - 13:44:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Цитата:
Если сделано с помощью switch то если ни одно из значений act не подойдет то оно может просто вывести "Вы чего химичите , не трогайте url" .
С таким же успехом это можно сделать и через обычное условие - а само изменение строки запроса таким образом уловить нельзя ведь изменние строки запроса аналогично переходу по такой же гиперссылке Не говоря уже о том что через telnet в общем случае можно отправить что угодно - как будто бы это отправлял браузер


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
cg
Отправлено: 12 Мая, 2010 - 19:03:28
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




igordata пишет:
как готовый вариант, чтобы не забивали себе голову:

запись в .htaccess
CODE (htmlphp):
скопировать код в буфер обмена

1.
<IfModule mod_rewrite.c>
2.
RewriteEngine on
3.
RewriteCond %{REQUEST_FILENAME} !-f
4.
RewriteCond %{REQUEST_FILENAME} !-d
5.
RewriteCond %{REQUEST_URI} !=/favicon.ico
6.
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
7.
</IfModule>


и
CODE (htmlphp):
скопировать код в буфер обмена

1.
$_SERVER['REQUEST_URI'];


позволяют обрабатывать урлы типа http://www[dot]test[dot]ru/pipiska одним index.php

Народ что означает этот код???
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB