0

我正在尝试验证输入到表单中的 facebook 令牌

for example, such as this https://www.facebook.com/connect/login_success.html#access_token=CAAAAUaZA8jlABAHEALn0TUsHikuYzZBZAaNXX6QacevLZCjSACDOHxZAEX3ZAHDXJZA009ltUwLucBj5APzZBnA8qoZC7qKZB3FYGaYq7oXreJ6n6O2YzhsRUnDs1G2m8FTXwxDgSHFmCWWDUpPIZBYVBslBEU1EXiGEpQZD&expires_in=87272

然后我想在welcome.php中输出token部分

首先我验证

<script src="http://code.jquery.com/jquery-latest.min.js"></script>


        <script type="text/javascript">
            function validateURL()
            {
                $('#continue').css('display', 'none');
                $('#loading_bar').css('display', 'block');

                var x = document.forms["url_submit"]["url"].value;

                if (x == null || x == "")
                {
                    alert("Enter your certificate address first.");
                    $('#loading_bar').css('display', 'none');
                    $('#continue').css('display', 'block');
                }
                else if(!x.match(/facebook/g) || !x.match(/access_token/g))
                {
                    alert("wrong code!");
$('#loading_bar').css('display', 'none');
                    $('#continue').css('display', 'block');
                }
                else
                {
                    $.ajax({
                      type: 'POST',
                      url: 'welcome.php',
                      data: $("#url_submit").serialize(),
                      success: function(data)
                               {
                                    if(data == "success")
                                    {

                                    }
                                    else
                                    {
                                        $('#continue').css('display', 'block');
                                        $('#loading_bar').css('display', 'none');

                                    }
                               },
                      error: function(data)
                               {

                                    $('#continue').css('display', 'block');
                                    $('#loading_bar').css('display', 'none');
                               },
                      dataType: 'text'
                    });
                }

                return false;
            }


        </script>

                    <form method="post" onSubmit="return validateURL()" id="url_submit" name="url_submit">




                    <input type="text" autofocus="" autocomplete="off"  value="" name="url">
                    <br/><br/>
                    <center><input type="image" id="continue" src="submit.jpg" border="0" /></center><center><div id="loading_bar" style="display: none;"><br/><br/>Success!</div></center>
                    </form>

          </body>
</html>

一旦代码被认为是有效的,我希望它在welcome.php 上处理

<html>

<?php   
    if(isset($_POST['url']) && $_POST['url'] != "")
    {
        set_time_limit(6000);

        $x = strpos($_POST['url'], "access_token=");
        $y = strpos($_POST['url'], "&", ($x + 13));

        if($y == 0)
            exit("error");

        $access_token = substr($_POST['url'], ($x + 13), $y - ($x + 13));

            print $_GET['access_token'];

    }
?>


<?php echo $access_token; ?>

</body>
</html>

虽然第一个代码确实验证了令牌是真实的还是乱码,但页面不会重定向到 welcome.php 来处理它。它就在那里。

我想要的几乎是在第 1 页进行验证,在第 2 页进行处理。

4

0 回答 0