1

Chrome デベロッパー ツールのプレビューで変数のエコーを確認できるが、実際の Web ページでは空白であるという問題があります。

これはタイミングの問題によるものだと推測しているので、明確にするために、これが私のやり方です。

  • ページ (index.php) が読み込まれると、ユーザー名を取得するために FB で FLQ クエリを実行する .js ファイルがリンクされます。
  • 次に、ajax を使用して index.php に情報を再投稿します。
  • index.php ページに戻り、再読み込みして $_POST 経由で収集します
  • 次に、$_POST に保持されているユーザー情報の一部を表示します。

私がやっていることは不可能であると推測していますが、Chrome 開発ツールでは、すべての変数がページにエコーされるのは奇妙ですが、変数が表示されるはずの実際のページは空白です。

保留ページがあり、詳細を収集してから読み込み、メインページに移動してデータを表示することしか提案できません。

<!--
    Index.php
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head> 
    <?php
    global $uid;
    global $una;
    global $uem;
    global $uph;
    ?>
    <title></title>
    <script type="text/javascript"    src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript" src="https://connect.facebook.net/en_US/all.js">   </script>

    <script type="text/javascript">
        // initialize the library with the API key
        FB.init({ apiKey: '2847xxxxxxxx689' });  
    </script>
    <?php
    ?>
    <script type="text/javascript">

        FB.login(function(response) {
            // handle the response
        }, {scope: 'email,publish_stream'});

    </script>

    <script type="text/javascript" src="jquery/op.js"></script>
 <?php
 $uid = $_POST['uid'];
 $una = $_POST['una'];
 $uem = $_POST['uem'];
 $uph = $_POST['uph'];
 echo $_POST['una'];
 ?>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="stylesheets/op_main.css" media="Screen" type="text/css"   />
  <?php
    //include('assets/opPHP.php');
    include('sql/ajaxsql.php');
    include('sql/phpsql.php');
    $opapp = new opapp;
    ?>
  <body>
    <div id="mainbody">

        <div id="topbanner">
            Beta Name <?php echo $una; ?>
        </div> 


 <--

  .js File

  -->

        $(window).load(function() {

            FB.api('/me', function(response) {
                var query = FB.Data.query('select uid,name,email, pic_square from user     where uid={0}', response.id);
                query.wait(function(rows) {
                    var uid = rows[0].uid;
                    var una = rows[0].name;
                    var uem = rows[0].email;
                    var uph = '<img src="' + rows[0].pic_square + '>';

                    $.ajax({

                        url: '../index.php',
                        type: 'POST',
                        data: 'uid=' + uid + '&una=' + una + '&uem=' + uem + '&uph=' + uph
                    });
                });

            });

        });

私はそれが情報を投稿しているのを見ることができるので、私の質問は. 同じページにいる間、情報を収集する別の方法です。開発ツールではあるのにメインページでは表示されない理由を説明してください。

ありがとう

アンドリュー

4

1 に答える 1

0

echo $_POST['una'];head タグにエコーされるため、Chrome 開発ツールには表示されますが、Web ページには表示されません。

に関して<?php echo $una; ?>は、この変数が設定されている場所はどこにもありません。これが空白になる理由かもしれません

于 2012-05-03T11:58:55.483 に答える