Редактировать и создавать вещи с адресным штрих-кодом? - PullRequest
1 голос
/ 20 апреля 2009

Как мне сделать так, чтобы я мог что-то сделать в конце адреса, где находится .php, и затем сказать ему, чтобы он делал определенные вещи. Например, откройте страницу вроде этого:

sampardee.com / index.php? Страница = любой

Помощь

Что-нибудь еще, что я мог сделать с этим?

Ответы [ 5 ]

5 голосов
/ 20 апреля 2009

Обычно это достигается с помощью глобального массива php $ _GET. Вы можете использовать его как ассоциативный массив, чтобы «получить» любую переменную, которую вы называете в URL. Например, ваш URL выше:

//this gives the $page variable the value 'whatever'
$page = $_GET['page'];

if($page == 'whatever'){
//do whatever
}
elseif($page == 'somethingelse'){
//do something else
}

Проверьте документацию php для получения дополнительной информации:

$ _ ПОЛУЧИТЬ документацию

и здесь есть учебник:

Учебник с использованием QUERY_STRING и _GET

1 голос
/ 20 апреля 2009

$ _ GET обычно используется, если вы отправляете информацию на другую страницу, используя URL-адрес.

$ _ POST обычно используется, если вы отправляете информацию из формы.

Если вам когда-либо понадобится написать свой код, чтобы он мог принимать информацию, отправленную обоими способами, вы можете использовать $ _ REQUEST . Убедитесь, что вы проверяете, какая информация отправляется, особенно если вы используете ее с базой данных.

По вашему вопросу похоже, что вы используете это для отображения различного контента на странице?

Возможно, вы хотите использовать что-то вроде switch , чтобы разрешить использование только определенных имен страниц?

т.е.

$ Pagename = $ _ REQUEST [ 'страница'];

Переключатель ($ Pagename) {
case 'home': $ include = 'home.php'; break;
case 'about': $ include = 'about.php'; break;
регистр по умолчанию: $ include = 'error.php'; перерыв;
}
включают ($ включают);

Это действительно упрощенный пример, но если переменная $ page не является домашней или домашней, на веб-сайте будет отображаться страница с ошибкой.

Надеюсь, это поможет!

1 голос
/ 20 апреля 2009

Небольшое улучшение по сравнению с кодом Бретта:

if (array_key_exists('page', $_GET) === false)
{
    $_GET['page'] = 'defaultPage';
}

$page = $_GET['page'];

// ... Brett Bender's code here
0 голосов
/ 20 апреля 2009

Система добавления параметров страницы в URL известна как HTTP GET (в отличие от HTTP POST и некоторых других, менее часто используемых).

Взгляните на эту страницу школ W3 о GET в PHP и поиграйте в получение параметров и их использование в коде PHP.

Веселись!

0 голосов
/ 20 апреля 2009

Я не совсем уверен, что вы спрашиваете, но я думаю, что вы спрашиваете, как использовать запросы GET.

Выполните запросы GET для любой страницы PHP следующим образом: www.mysite.com/page.php?key1=value1&key2=value2

Теперь из PHP вы увидите key1 -> value1, key2 -> value2.

Доступ к хешу GET из PHP осуществляется следующим образом: $ myVal1 = $ _GET ['key1'] #resolves to "value1" $ myVal2 = $ _GET ['key2'] #resolves to "value2"

Отсюда, поиграйте с переменными GET, как считаете нужным.

...