0

ユーザーまたはゲストで開始する場合、セッションに応じて div を有効または無効にしたい。私はこのようなことをしたい:

まず、これを実行してユーザーかどうかを評価します。

<?php

    if(!isset($_SESSION['idUser'])) // If it is Guest doesn't have id.
    {
        $guest=true;
    } else {
        $guest=false;
    }

?>

次にjqueryで、私は言いたいです:

$('.box').click(function(){    // labBox appears when box is clicked
    if(<?php $guest?>)                  
    $("#LabBox").hide();
    else
    $("#LabBox").show();                            

});

質問: php boolean var $guest を使用して、ウェブサイトの一部の要素を無効または非表示にするにはどうすればよいですか? 2 つの異なる php ファイルを作成する必要がありますか? 1 つはユーザー用、もう 1 つはゲスト用 (例: home.php と home_guest.php)?

4

7 に答える 7

0

Why don't you just show/hide your div in the php depended on if they are a guest or not...

So...

<?php

if(!isset($_SESSION['idUser'])) // If it is Guest doesn't have id.
{
    $guest=true;
} else {
    $guest=false;
}

if($guest===true){
    echo "<div></div>";
}
else{
    //dont echo div
}

?>

于 2013-04-26T14:26:09.233 に答える
0

個人的には、JSファイルではなくHTMLで行います...

<?php

    if(!isset($_SESSION['idUser'])) // If it is Guest doesn't have id.
    {
        $loggedin=true;
    } else {
        $loggedin=false;
    }

?>

そしたらまた後..

<?php if($loggedin===true){?>
    <div>User is logged in</div>
<?php }else{?>
    <div>Guest is viewing page</div>
<?php }?>

これは、ユーザーの div がゲストに表示されないことを意味しますが、現在のソリューションではそれを非表示にするだけです (ユーザーはfirebug/viewsource!

于 2013-04-26T14:23:56.557 に答える
0

PHP / サーバー側:

<?php
    if(!isset($_SESSION['idUser'])) // If it is Guest doesn't have id.
    {
        $guest=true;
    } else {
        $guest=false;
        // add #LabBox element from here to avoid junk/hidden elements for guests
    }
?>

JQuery/クライアント側:

$('.box').click(function(){    // labBox appears when box is clicked
    if (!<?php echo $guest?> && $('#LabBox').length > 0) {
        $('#LabBox').show();
    }
});

次に、ユーザーによって要求されたアクションが「guest or not?」を渡すことが重要です。サーバー側から付与される前にテストします。

于 2013-04-26T14:30:07.313 に答える
0

jQuery が取得できる、PHP によって設定された非表示の入力を使用します。

<?php
   echo "<input type=hidden id=guestcheck value=$guest/>"
?>

if ("#guestcheck").val()) {
}

個人的にはこの方法が気に入っています。なぜなら、デバッグ時にソースをチェックして、エラーの可能性がある場所を見つけることができるからです (たとえば、GUEST が true であるかどうかにかかわらず、ページを表示するときにソースではっきりと確認できます)。

于 2013-04-26T14:17:38.777 に答える