3

私は PHP でログイン システムを作成しています。

ログアウトすると、index.php にリダイレクトされます。このような:

header("loaction: index.php?logout=true")

これにより、URL は www.mysite.com/index.php?logout=true のようになります。次に、次のコードを使用します。

if(isset($_GET['logout'])) {

$logoutvalue = $_GET['logout'];

if($logoutvalue = "true") {
$notification = "You've been logged out!";  
}

URL から logout の値を取得し、それを使って何かを行います。

通知変数の値を表示する小さなポップアウト ウィンドウがあります。この場合は「ログアウトしました!」です。私の質問は、ページが読み込まれたとき、および URL が /index.php?logout=true に等しいときにモーダル ウィンドウを表示するにはどうすればよいかということです。

すべてのコメント、回答、および提案は大歓迎です!

ありがとう!- ライアン

4

7 に答える 7

4

初めに、

「PHPを使用してモーダルウィンドウを開く」ことは直接できません。これを行うには、(JSON または XML を介して) 変数を交換するか、PHP 条件をマークアップに直接埋め込む必要があります。

PHP と JavaScript は独立しています。

私の質問は、ページが読み込まれたとき、および URL が /index.php?logout=true に等しいときにモーダル ウィンドウを表示するにはどうすればよいかということです。

これを実現するには 2 つの方法があります。
最初に : PHP 条件をマークアップに直接埋め込むことを有効に活用します。

2番目: ( ) のような非表示の入力をどこかに置き、 <input type="hidden" id="showModal" />JavaScript 自体を介して存在するかどうかを確認します。

例えば:

<!DOCTYPE html>
<html>
<head>

   <script type="text/javascript">

      window.onload = function(){

           if ( document.getElementById('showModal') ){

               alert('Box'); //replace with your own handler
           }

      }

   </script>

</head>
<body>

<?php if ( isset($_GET['logout']) && $_GET['logout'] === 'true' ): ?>

<input type="hidden" id="showModal" />

<?php endif;?>
</body>
</html>
于 2013-02-01T03:54:28.837 に答える
2

次のようなものをお探しですか?

<script>
<?php if(isset($_GET['logout']) && $_GET['logout'] === 'true'){
    echo 'alert("You\'ve been logged out!");'
}
?>
</script>

編集:モーダルウィンドウ用にこのようなものを探していると思います(jQueryを使用)

<?php if(isset($_GET['logout']) && $_GET['logout'] === 'true'){
    $message = "You've been logged out!";
?>
    <script>
    $(function() {
        $("#dialog").dialog();//if you want you can have a timeout to hide the window after x seconds
    });
    </script>
    <div id="dialog" title="Basic dialog">
        <p><?php echo $message;?></p>
    </div>
<?php } ?>
于 2013-02-01T03:35:27.063 に答える
2

私はそれが古い投稿であることを知っていますが、同様のクエストで将来誰かを助けるために、次のことが正しい方向に進むのに役立つと思います(以下のコードを自分でテストしたので、調整してください)。

<?php if(isset($_GET['logout']) && $_GET['logout'] === 'true'){
        $message = "You've been logged out!";
    ?>
        <script>
        $(function() {
         $('#myModal').modal('show');
        });
        </script>

    <div class="modal fade" id="myModal" role="dialog">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Edit Data</h4>
                </div>
                <div class="modal-body">
                    <div class="fetched-data"><?php $message ?></div> 
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>

    <?php } ?>
于 2016-06-29T16:05:00.900 に答える
-1

モーダルJSライブラリhttp://simplemodal.plasm.itをダウンロードしてください

条件を使用します

if(isset($_GET['logout'])) {

$logoutvalue = $_GET['logout'];

if($logoutvalue = "true") {
code to open the Modal as in the JS library..... 
}
于 2013-02-01T03:46:02.543 に答える
-1

または、if ステートメント内にスクリプトを記述することもできます。

<?php
if(isset($_GET['logout']) && $_GET['logout'] === 'true'){ ?>
    <script type="text/javascript>
     window.open(yourhtml);
 </script>
</php } 
else {
// may be some other script
}
?>
于 2013-02-01T03:39:53.137 に答える