Используйте PHP $ _GET [для отображения различного содержимого в одном и том же файле PHP - есть ли другой способ сделать это? - PullRequest
1 голос
/ 13 марта 2020

Обычно я использую $ _GET для перехвата параметров URL и отображения содержимого в зависимости от того, что это за параметр.

<?php

function isCmd($cmd) {
    if(isset($_GET["cmd"]))
        if($_GET["cmd"] == $cmd)
            return TRUE;
    return FALSE;
}

if(isCmd("page1")) {
    echo "<p>That is page 1</p>";
}
else if(isCmd("page2")) {
    echo "<p>That is page 2</p>";
}
else if(isCmd("page3")) {
    echo "<p>That is page 3</p>";
}
else {
    echo "<p>That is the normal page</p>";
}

URL-адрес будет выглядеть следующим образом example.com/script.php
example.com/script.php?cmd=page1
example.com/script.php?cmd=page2
example.com/script. php? cmd = page3

И это работает, как и ожидалось, но я вижу на веб-сайтах, что они могут сделать только:
example.com/script.php ? page1
example.com/script.php?page2
example.com/script.php?page3
и это будет работать, без cmd =

Как я могу сделать то же самое в PHP?

Ответы [ 2 ]

0 голосов
/ 13 марта 2020

Я ответил сам, посмотрев на переменную $ _GET. Это было проще, чем я думал.

function isCmd($cmd) {
    if(isset($_GET["$cmd"]))
            return TRUE;
    return FALSE;
}

if(isCmd("page1")) {
    echo "<p>That is page 1</p>";
}
else if(isCmd("page2")) {
    echo "<p>That is page 2</p>";
}
else if(isCmd("page3")) {
    echo "<p>That is page 3</p>";
}
else {
    echo "<p>That is the standard page</p>";
}

Также работает с $ _GET. Он также будет работать с $ _SERVER ["QUERY_STRING"].

0 голосов
/ 13 марта 2020

Вы можете использовать $_SERVER["QUERY_STRING"], который будет возвращать строку после "?" в URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...