私はモバイルサイトをユーザーにリダイレクトするdetectmobilebrowsers.comのモバイルスクリプトを持っていますが、URL「http://example.com/?mobile=no」が入力されると、ユーザーをリダイレクトしないセッションが作成されます私のサイトのすべてのページ...PHPセッションの問題
は$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;
}
申し訳ありませんが、私は短期間ではなく、混乱に見える場合:(設定されている)モバイル検出...セッションモバイル=なしユーザーがフルサイトを表示するために願いをした場合、いつ作りますそのセッションが作成されて永遠に(同じPHPスクリプト)でチェックされ、私は携帯電話のための私のセッションを設定する場合、私は永遠に滞在したい...私の場合は、起こる唯一の事は、最初のページはリダイレクトされませんが私はそれをunleを表示しない別のページに行くss私は?mobile = noを追加しますが、ここではセッションの全体が一点であるので、これは一度だけ行う必要があります。
session_start()の前にコードがないことは間違いです。出力バッファリングが使用されていない限り、出力が生成される前にセッション開始を呼び出す必要があります。セッション変数を使用する前に、いつでもsession_start()を呼び出すことができます。PHPの出力バッファリングを有効にしないと出力が送信されないように注意してください。スクリプトは実行を終了します。 – shevron
@ShaharEvron良い点は、 – paislee