Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум веб-мастеров _ Общие вопросы _ ЧТо за ссылки такие нитересные ..

Автор: torrentevg 4.5.2008, 17:42

Не раз уже встречал не на одном сайте ссылки от например:
fishki.net/comment.php?id=27072 или
http://forum.wm-help.net/go/?http://www.lvivfashionweek.com/?lang=ukr&cat=designers или
auto.mail.ru/text.html?id=25591&rubric=160

обращаю внимание именно на фрагмент ссылки что начинается после знака "?" каким образом генерируется такой тип ссылки например: ?lang=ukr&cat=designers и как можно такое сделать у себя на странице ?

Автор: gid 4.5.2008, 21:49

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

Автор: gid 4.5.2008, 21:51

Цитата
как можно такое сделать у себя на странице ?

Для этого нужно как минимум знать основы php, в этом Вам сможет помочь наш сайт: http://wm-help.net/books-online/book/15200.html

Автор: Владислав Алексеевич 15.6.2008, 3:41

Это называется GET-запрос.
За ссылкой, после знака "?" идут переменные вопроса, знак равенства, их значение; потом разделяющий амперсант.

В PHP обратиться к ней можно через глабальный массив $_GET;

Например если ссылка такая: что_то_там?page=2&theme=1
То код может быть таким:

Код
<?php

// Делаем проверку, что бы ячейка массива была определена и не пуста.
if ( isset($_GET['page']) && ($_GET['page'] != '') && isset($_GET['theme']) && ($_GET['theme'] != '') )
{
  // Всё в порядке, переменная есть.
  // Выполняем что надо, например переадресуем на новую страницу
  $new_adress = "ввв.страница${_GET['page']}тема${_GET['theme']}";
  header("Location:${new_adress}");
}

?>

Пример отображает идею в общих чертах.

Автор: Владислав Алексеевич 15.6.2008, 12:21

to: torrentevg
если сделать http://wm-help.net/?module=search&search_str=get+%E7%E0%EF%F0%EE%F1&sa=%CF%EE%E8%F1%EA+%EF%EE+%F1%E0%E9%F2%F3 по "get запрос" на сайте, можно найти много интересного.

Возможно это известно, но повторюсь.
Идея работы PHP скриптов. Есть два компьютера. Один у пользователя (клиент), другой в интернете (сервер). Когда клиент запрашивает страницу, сервер возвращает ему HTML (страницу в виде HTML). Если запрашиваемая пользователем страница является PHP скриптом (обычно расширение .php), но на компьютере сервера запускается "PHP-машина". Она интерпретирует PHP-скрипт. В результате чего появляется HTML-код, который уже и посылается машине пользователя.

Чтобы дома просматривать результат работы своих сриптов, вам нужно установить на компьютере сервер. (Apache + PHP).
Но можно не замарачиваться этими сложностями, когда хочется просто делать скрипты. Есть классная штука, написанная нашими соотечественниками: http://forum.wm-help.net/go/?http://www.denwer.ru/

В кратце, как установить сайт в денвере:
Проинсталлировать сначала. Потом расположи файл index.php в каталоге: Папка_с_денвером\home\Имя_сайта.ru\www\index.php
Запускай Денвер, и пиши в браузере "Имя_сайта.ru" - твоя страница запустится.

Вот простой пример на PHP.
Сама страница и PHP в одном файле index.php.

Код
<?php

// Делаем проверку, имеется ли нужная переменная GET запроса

if ( isset($_GET['p']) && $_GET['p'] != '' )
{    // Значит переменная есть.
    $page = $_GET['p'];
}
else
{    // такая переменная не объявлена. Тогда берём как первую страницу
    $page = 1;
}

// Теперь у нас есть информация о номере запрашиваемой страницы.
// Построим запрашиваему страницу страницу

switch ($page)
{
    case 1:
        // Применим удобный метод внедрения HTML в PHP-скрипт. Просто закроем тег PHP, напишем HTML, и опять откроем его.
        ?>
        Это уже HTML, Страница № <?php echo $page /*это снова php*/ ?>
        <?php
    break;
    case 2:
        ?>
        Страница № <?php echo $page /*это снова php*/ ?>
        <?php
    break;
    case 3:
        ?>
        Страница № <?php echo $page /*это снова php*/ ?>
        <?php
    break;
    
    default:
        ?>
        Извените, такой страницы нет. № <?php echo $page /*это снова php*/ ?>
        <?php
    break;
}

// Выведем ссылки на все страницы

?>
<br>
<a href="index.php?p=1">Страница 1</a><br>
<a href="index.php?p=2">Страница 2</a><br>
<a href="index.php?p=3">Страница 3</a><br>
<a href="index.php?p=abc">Страница abc</a><br>


-----
P.S. работоспособность проверял.

Invision Power Board ()
© Invision Power Services ()