страница и члены строки запроса - PullRequest
1 голос
/ 29 марта 2012

Я делаю некоторые тесты, просто чтобы узнать (как правило, я делаю это Ajax-способом). Я пытаюсь изменить страницу, когда URL-адрес что-то вроде http://xxx/?se=page&members=11

<?php
    if (isset($_GET['se'])){
        switch ($_GET['se']){
            case "page&members":
                include "members.php";
                break;

             default:
                 include "in.php";
            }
    }
?>

Проблема в том, что код будет перенаправлен в in.php даже с этим URL http://xxx/?se=page&members=11

Ответы [ 4 ]

2 голосов
/ 29 марта 2012

Предполагая, что 11 - это идентификатор, вам следует изменить поведение на следующее:

Ссылка: http://xxx/?page=members&id=11

if ( isset( $_GET['page'] ) )
{
    $file = "{$_GET['page']}.php";

    if ( file_exists( $file ) )
        include( $file );
    else
        include( 'in.php' );

}
1 голос
/ 29 марта 2012

Сделай это

<?php
if (isset($_GET['se']) && isset($_GET['members'])){
    include (($_GET['se']=="page") ? "members.php" : "in.php");
}
?>
0 голосов
/ 29 марта 2012

У вас есть 2 переменные, где se содержит значение 'page', а members содержит значение '11', поэтому ваш регистр всегда будет иметь значение по умолчанию, так как se никогда не содержит значение '{page & members}'

0 голосов
/ 29 марта 2012

в примере, который вы показываете: $ _GET ['se'] == 'page' и $ _GET ['members'] == '11'

Вы захотите изменить оператор case:

 switch ($_GET['se']){
        case "11":
        include "members.php";
...
...