2017-03-22 27 views
0

我试图根据用户ID创建一个列出某些通知的页面。如何使用getJSON将javascript变量传递给php

我有这个JavaScript函数得到的结果作为JSON

var url="http://localhost/app/demo/getNotifications.php"; 
    $$.getJSON(url, function (result) { 
     $$.each(result, function (i, field) { 

     var nID = field.id; 
     var nDonor = field.donor_id; 

     // APPENDS DATA TO LISTFVIEW 
     $$("#notlistview").append("HTML HERE"); 
     }); 

    }); 

这是php文件:

<?php 
include "db1.php"; 

$USERID = " "; 

$data=array(); 
$q=mysqli_query($con,"SELECT * FROM blood_donations WHERE requester_id='USERID' ORDER BY `id` DESC"); 
while ($row=mysqli_fetch_object($q)){ 
$data[]=$row; 
} 
echo json_encode($data); 
?> 

我的问题是我怎么从Javascript传递一个值填充PHP文件中的$ USERID与发送的值?

我只需要检索与USERID相关的结果,所以如果您有其他方法,那也没关系。

+0

你的代码**易受攻击**为sql注入攻击; – hassan

回答

1

您可以使用内置的全球$_GET检索参数:

<?php 
if (isset($_GET['userid'])) { 
    $USERID = $_GET['userid']; 
} else { 
    $USERID = " "; 
} 
?> 

而且通过从jQuery的价值:

$.getJSON(url, 
{ 
    userid: myUserID 
}, 
function (result) { 
     // your result function 
}); 
+0

谢谢!让我试试看,回到你身边。 – Fala

+0

谢谢你的男人!有效。 – Fala

1

改变了...

$$.getJSON(url, function (result) { 

对此...

$$.getJSON(url, {userID:123}, function (result) { 

将123设置为任何你想要的值。

然后在你的PHP从$ _GET [ '用户ID']让你的变量

要小心。您的脚本容易受到SQL注入的影响。

+0

谢谢您的回答,与我已经尝试的第一个答案一样!但我真的很感激你花时间帮助我。 – Fala

+0

没问题。我新来堆栈溢出。当我花时间回答一个问题的时候,我发现这令人沮丧,写下了答案,其他人在我面前拿出了同样的答案,窃取了我的雷霆!呃,好吧! –

+0

哈哈,是的,它发生在我之前!这是怎么回事,首先是正确的答案,你有义务将其标记为完整,大声笑。再次感谢并对不起。 – Fala