Как: PHP динамическая проверка URL - PullRequest
0 голосов
/ 11 июня 2009

Я делаю админ-панель для небольшого проекта. Я хочу использовать динамические URL-адреса для редактирования определенных записей данных. Например:

file.php? Редактировать и п = 53

Я хочу, чтобы этот URL редактировал запись 53.

Я использую оператор switch для проверки страницы редактирования, но как мне проверить, имеет ли URL расширение & n = x в том же операторе switch?

Пример:

switch $_SERVER['QUERY_STRING']
{
    case "edit"
        //shows a list of entries to edit  
        break;
}

Могу ли я просто сделать еще один случай с выражением reg? Как бы я сказал это выражение?

Я понимаю, что мог бы просто создать отдельный файл с именем edit и использовать только один уровень строки запроса, но я хотел бы знать, как это сделать.

Заранее спасибо!

Ответы [ 3 ]

5 голосов
/ 12 июня 2009

Как и все остальные, используйте $ _GET

Я рекомендую изменить ваши URL, чтобы они выглядели так ...

file.php?action=edit&n=53

теперь вы можете ...

$id = intval( $_GET['n'] );

switch( $_GET['action'] ) {

    case 'edit':
        // Edit entry
        break;
    case 'delete':
        // Delete entry
        break;
    case 'create':
        // Create new entry
        break;
    default:
        // Invalid action

}

Страница PHP на $ _GET - http://us.php.net/manual/en/reserved.variables.get.php

4 голосов
/ 11 июня 2009

Проверьте , если $_GET['edit'] и $_GET['n'] существуют :

if (isset($_GET['edit'])) {
    echo 'edit mode';
    if (isset($_GET['n'])) {
        echo 'editing '.intval($_GET['n']);
    }
}
2 голосов
/ 11 июня 2009

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

Вы можете проверить, существует ли переменная, используя isset ($ _ GET ['edit']) с isset ($ _ GET ['n']) для страницы

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