将朋友GET ID传递给另一个页面

时间:2015-11-28 13:07:14

标签: php jquery session

我以前曾问过这个问题,但我无法理解答案可能是因为它对我不起作用。

我开发了一个聊天应用程序。一旦用户使用keyup提交,它就可以正常工作,即插入到数据库中,也可以选择正常,甚至可以显示消息。正在刷新javascript的页面是load.php,其中包含执行此类选择的php代码;

SELECT * FROM chat WHERE sender_id=$_SESSION['id']

这很好用。但是当我把它改成

SELECT * FROM chat WHERE sender_id=$_SESSION['id'] AND receipent_id=$_GET['id']

它不起作用只是因为主页中所选成员的$_GET['id']没有被传递给load.php,而每隔.....毫秒刷新javascript所以在线消息会话ID和所选成员应显示在消息显示中。 我在主页上使用此代码刷新load.php;

function refresh(){ 
    setTimeout (function(){ 
        $('#message').load('load.php'); 
        refresh(); 
    }, 2000);
} 

工作得很好。

现在这个load.php必须为我选择仅在主页中选择的成员的消息。那我怎么能有这个成员'从数据库中选择时,id是否传递给此load.php?

非常感谢您的帮助程序员。

3 个答案:

答案 0 :(得分:1)

您需要在代码中添加get变量:

class Foo private constructor(private val xs: ArrayList<Int>) : List<Int> by xs {
    constructor() : this(ArrayList<Int>()) { }
}

答案 1 :(得分:1)

嗯,您需要在查询字符串上传递GET值。目前您正在申请此内容:

load('load.php')

如果您想要id值,请添加一个:

load('load.php?id=' + someValue)

如果您需要当前查询字符串中获取,则有a number of ways to do that。但是,当您最初加载页面时,如果该值可用,那么首先将它从PHP代码输出到页面将是微不足道的。像这样:

var someValue = <?php echo $someValue; ?>;

请记住以下几点:

  • 如果值是字符串,那么您需要在JavaScript中指定引号,而不是在PHP中。
  • 不要盲目回应用户提交的值到页面,这是一个安全漏洞。
  • 用户 可在load.()来电中更改此值。因此,您的方法可能会让用户轻而易举地冒充&#34;您应用程序中的其他用户。确保始终验证授权服务器端。
  • 您的示例SQL查询看起来像瞪眼SQL injection vulnerabilities。您可能想要阅读有关验证用户输入和using prepared statements的信息。

答案 2 :(得分:1)

如果你想传递$ _GET ['id']值,请尝试在你的函数中添加这个值

function refresh(){ setTimeout (function(){ 
    $('#message').load('load.php?id=<?php echo $_GET['id']; ?>');
    refresh(); }, 2000);
}

然后load.php将获得值