Проблемы с сессией PHP - PullRequest
0 голосов
/ 16 января 2012

У меня есть мобильный сценарий с веб-узлом detectmobilebrowsers.com, который перенаправляет пользователя на мой мобильный сайт, однако я также хочу, чтобы при вводе URL-адреса "http://example.com/?mobile=no" был создан сеанс, который не будет перенаправлять пользователя на каждой странице моего сайта ...

$mobile=$_GET['mobile'];

if(isset($_SESSION['mobile'])){
    if($_SESSION['mobile']==="no"){
        complete();
    }
    else{
        $_SESSION['mobile']="no";
        complete();
    }
}
elseif($mobile==="no"){
    $_SESSION['mobile']="no";
    complete();
}
elseif($_SESSION['mobile']!="no"){
    checkMobile();
}
function checkMobile(){
    // Mobile Detection Code taken out to save space.
    gotoMobile();
}
function gotoMobile(){
    echo "<script>window.location='http://m.MySite.org/';</script>";
}
function complete(){
    return false;
}

Извините, если мне кажется, что я запутался, но вкратце: Mobile Detection (который установлен) ... make session mobile = no, если пользователь хочет просмотреть весь сайт, и когда этот сеанс создается, он проверяется на каждой странице (тот же php сценарий), и если я устанавливаю сеанс без мобильного устройства, я хочу, чтобы это оставалось на каждой странице ... В моем случае единственное, что происходит, это то, что первая страница не перенаправляется, но при переходе на другую страницу она не будет отображаться, если только Я добавляю «mobile = no», но весь смысл сессий здесь таков, что это нужно сделать только один раз.

Ответы [ 2 ]

1 голос
/ 16 января 2012

Звучит просто, но вы уверены, что используете session_start () вверху каждой страницы перед проверкой всех переменных сеанса?

1 голос
/ 16 января 2012

Прежде чем вы сможете начать сохранять пользовательскую информацию в вашем сеансе PHP, вы должны сначала запустить сеанс:

session_start();

Перед сессией_старт () не должно быть разметки, даже пробелов! (если не используется выходная буферизация).

См. http://php.net/manual/en/function.session-start.php.

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