Консультация № 42471
08.05.2006, 21:59
0.00 руб.
0 4 4
Здравствуйте, эксперты!
Подскажите как обработать вызов страницы с параметрами после знака вопроса.
Например, index.php?text - показываеся одна страница
index.php?primer - показываеся другая страница
как различить что ввел пользователь, какую команду, и соответсвенно показать ему нужную информацию.

Обсуждение

Неизвестный
08.05.2006, 22:06
общий
это ответ
Здравствуйте, Godal!
Легко. Функция isset возвращает true, если указанная переменная определена:
<i>if (isset($text)) { ... }
if (isset($primer)) { ... }</i>
Неизвестный
08.05.2006, 23:23
общий
это ответ
Здравствуйте, Godal!
Всё, что находиться после ? находиться в переменной $_SERVER[‘QUERY_STRING‘]. И уже исходя из значения этой переменной делать определённые действия. Например, следующий код загружает(а точнее перебрасывает на) страницу, имя которой стоит после ?:
<?php
$par=$_SERVER[‘QUERY_STRING‘];
if (@$par) header("Location: ".$par.".php");
?>
P.S. только перед этим кодом не должно быть никакого HTML кода и никаких выводов в браузер, иначе ничего не получиться
Неизвестный
09.05.2006, 01:35
общий
это ответ
Здравствуйте, Godal!
if (isset($_GET[‘text‘])){
print "TEXT";
}
if (isset($_GET[‘sample‘])){
print "SAMPLE";
}
Неизвестный
10.05.2006, 18:23
общий
это ответ
Здравствуйте, Godal!
Так у тебя не получится нормально. Обычно делают
index.php?page=text
index.php?page=primer
Если сделано так, то можно
или в одном файл прописать так:
Switch ($_GET[‘page‘])
{
сase ‘text‘: echo file_get_contents(‘text.html‘); break;
сase ‘primer‘: echo file_get_contents(‘primer.html‘); break;
}

А вот так как ты говоришь(index.php?text) - не знаю. Попробовать можно так:
if (isset($_GET[‘text‘])) echo file_get_contents(‘text.html‘);
И если так получится, то лучше переписать в виде:
switch (true)
{
isset($_GET[‘text‘]): echo file_get_contents(‘text.html‘); break;
isset($_GET[‘primer‘]): echo file_get_contents(‘primer.html‘); break;
}
Но с точки зрения производитеьлности мой вариант лучше, потому что не проводится каждый раз проверка "А установлена ли переменная", просто сравнивается значение.

Выбирать тебе, работает ли второй вариант - не проверял, теоретически должен.
Форма ответа