Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > передача нескольких параметров URL-у


Автор: Enya 24.10.2006, 16:37
Я уже спрашивала о конструкции когда в одном файле много всего и всякого, только обращение идёт к www.yuorsitename.com/index.php?type=1
http://forum.vingrad.ru/topic-111372.html
Частенько видела вот такое
Цитата("URL")
www.yuorsitename.com/index.php?page=register&mode=reg

1. Как работает?
2. Пример конструкции, просто для наглядности.

Многие используют - значит получается удобно.
Вот собственно что и хоте бы узнать - ну и конечно научиться. smile 

Автор: bondarenko_a 24.10.2006, 16:49
Это через форму методом get отсылаются параметры.
Или ты сама формируешь ссылку с такими параметрами, которые потом считываешь массивом $_GET[]
 В данном случае, на открывающейся страничке ты вылавливаешь параметры $_GET[page] и   $_GET[mode] и как то их использую.

Мне наоборот не нравится такой внешний вид. Я стараюсь геты спрятать. У меня часто идут динамические странички, которые юзер видит как: 
Код

www.yuorsitename.com/register2.html


хотя на самом деле это
 
www.yuorsitename.com/index.php?page=register&mode=2

достигается с помощью файла .htaccess
smile
Гы 

Автор: korisarimi 24.10.2006, 16:51
Рассмотрим твой пример

www.yuorsitename.com/index.php?page=register&mode=reg

Все параметры, которые передаются URL'у после вопросительного знака, в php-скрипте обозначают переменную $_GET[].
page - это параметр который передается пользователем в переменную $_GET['page']. Обычно это ссылка на регистрацию. При этом используется простейшая контрукция:

Код

if($_GET['page']==register){то-то и то-то}


Аналогично и mode, то-бишь $_GET['mode'].

Автор: Enya 24.10.2006, 18:18
bondarenko_a, korisarimi, я поняла про $_GET[], но вот можно расписать конструкцию, как это сделал -=Ustas=-, http://forum.vingrad.ru/index.php?showtopic=111372&view=findpost&p=850256
Можно так сделать для передачи двух параметров?

И mode переводится как "режим (вид)"? И для чего вы используете $mode?


Автор: bondarenko_a 24.10.2006, 19:27
Названия переменных и их действия ты придумываешь сама.
Например, вздумалось тебе, чтоб на твоей страничке были разные титулы + изменялись в зависимости от какого то действия цвет ну скажем ячейки в таблице.
Придумываешь две переменные:
Для цвета - color (а хочешь tsvet, col etc)
Для титула - title (titul, tit, t...)

В исходном файле прописываешь ссылку <a href="http://enyasupersite.com/index.php?color=1&title=2">Жми сюды</a>

Щелкаем по ссылку и загружается страничка index.php, в котором надо прописать в начале:

Код

<? 
if($_GET[color]=='1')
$c="FF0000";
else
$c="CCCCCC";

if($_GET[title]=='2')
$t="Страничка супер! From Enya";
else
$t="Просто страничка. From Enya";


?>


А дальше в самом html находим елемент <title>

Код

<title> <?=$t;?>  </title>

(

а в нужном элементе <td> прописываем цвет:

Код

<td bgcolor="<?=$c;?>">Тут лежит какая то лабуда</td>

это мы засунули переменную $с, хотя ты можешь передавать и в самом $_GET[color] этот цвет). Tо же для $title

И так до опупения придумываем переменные и облагораживаем нащу страничку в зависимости от действий клиента.

Ну как, прикольно?

Автор: PARROT 25.10.2006, 09:55
Ну на том сайте у меня сделано так: page это страница, второй параметр имя страницы register.php, далее номер id=номер документа в базе
Код

if (!$page) $page="about"; # С этой страницы стартует сайт. Т.е. если $page не существует
if (!$title[$page]) $page="404"; # Если такой страницы нет на сервере

Код

<? include
        "includes/top.php" # Вставляем верхнее меню
?>
<?
        include "pages/".$page.".php" # Вставляем содержимое страницы
        ?>
<?
include "includes/bottom.php" # Вставляем левое меню
?>

Но это не лучший вариант. Правильнее использовать $_GET['id']

Автор: Enya 25.10.2006, 09:59
PARROT, 
Цитата(Enya @  24.10.2006,  18:18 Найти цитируемый пост)
И mode переводится как "режим (вид)"? И для чего вы используете $mode?


Автор: PARROT 25.10.2006, 10:38
Enya, да ты ее как хочешь назови, хоть $mode, хоть $vasya, выглядеть будет так:
Код

index.php?vasya=название страницы&id=1 (номер записи в базе)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)