0

私は自分のアプリケーションのモバイルバージョンを作成しています。これは設定ページ(mysettings.php)の一部です。

 if(!isset($_SESSION['access_token']))
     {
        echo("<script  type='text/javascript'> window.top.location.href='http://www.example.com/mobile/login.php'</script>");
     }

access_tokenが設定されていない場合は、login.phpにリダイレクトする必要がありますが、なぜ機能しないのか理解できません。

レンダリングされたソースコードでは、リダイレクトが発生していないため、次のように表示されます(リダイレクトコードが存在します)

<script  type='text/javascript'> window.top.location='http://www.example.com/mobile/login.php'</script>
<!DOCTYPE html> 
<html> 
<head>...
.
.
.</html>

Chromeを使用しています。これは、mysettings.phpページにログインしているソースコードです。

<?php
session_start();
$logins=0;
?>
<!DOCTYPE html> 
<html> 
<head> 
    <title>Page Title</title> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head> 
<body> 

<div data-role="page">

    <div data-role="header">
        <h1>Settings</h1>
    </div><!-- /header -->

    <div data-role="content">   
         <div class="ui-grid-a">
      <div class="ui-block-a"><a href="mysettings.php" data-role="button" data-mini="true">Settings</a> </div>
      <div class="ui-block-b"><a href="my.php" data-role="button" data-mini="true">My Pictures</a> </div>
    </div>

    </div><!-- /content -->

    <div data-role="footer">

    </div><!-- /footer -->
</div><!-- /page -->

</body>
</html>
4

3 に答える 3

2

headerPHP関数を使用して、リダイレクトを実行できます。

<?php
    if(!isset($_SESSION['access_token'])) {
        header("Location: http://www.example.com/mobile/login.php");
        exit;
    }
?>

これは、HTMLマークアップを送信する前に実行する必要があることに注意してください

于 2013-01-26T15:21:54.390 に答える
0

おそらく、phpheader("Location: http://some/url");を使用するか、instaed of topを使用してみてwindow.location.href ください。最後に、スクリプトを前ではなくドキュメントマークアップの代わりに配置してみてください(機能する可能性がありますか?...)

于 2013-01-26T15:24:00.293 に答える
0

追加した

data-ajax="false" 

ボタンをオンにするmysettings.phpと、正常に動作し始めました。ありがとうございました

于 2013-01-26T15:59:15.767 に答える