2017-03-22 10 views
0

Ich versuche, eine Seite zu erstellen, die einige Benachrichtigungen entsprechend der Benutzer-ID auflistet.Wie man eine Javascript-Variable mit getJSON an php übergibt

Ich habe diese Funktion Javascript das Ergebnis als 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"); 
     }); 

    }); 

Und das ist die PHP-Datei zu erhalten:

<?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); 
?> 

Meine Frage ist, wie gehe ich mit einem Wert von Javascript zu füllen die $ USERID in der PHP-Datei mit dem gesendeten Wert?

Ich brauche nur die Ergebnisse in Bezug auf die USERID abrufen, also wenn Sie einen anderen Weg haben, ist das auch in Ordnung.

+0

Ihr Code ist ** angreifbar ** für SQL-Injection-Attacken; – hassan

Antwort

1

Sie verwenden den eingebauten globalen $_GET Parameter abzurufen:

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

und der Wert von jQuery weitergeben müssen:

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

Danke! Lass es mich versuchen und kehre zu dir zurück. – Fala

+0

Danke Mann !!! Es funktionierte. – Fala

1

Ändern dieses ...

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

Um dies zu ...

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

Stellen Sie 123 auf den von Ihnen gewünschten Wert ein.

dann in Ihre PHP erhalten Sie Ihre Variable von $ _GET [ 'userID']

vorsichtig. Ihr Skript ist anfällig für SQL-Injection.

+0

Vielen Dank für Ihre Antwort, genauso wie die erste Antwort, die ich bereits ausprobiert habe! Aber ich weiß es wirklich zu schätzen, dass du dir die Zeit genommen hast, mir zu helfen. – Fala

+0

Kein Problem. Ich bin neu im Stapelüberlauf. Ich finde es frustrierend, wenn ich mir Zeit genommen habe, eine Frage auf halbem Wege zu beantworten, indem ich die Antwort schreibe, jemand anderes kommt mit der gleichen Antwort vor mich und stiehlt meinen Donner! Ah, gut! –

+0

Haha, ja, mir ist es schon mal passiert! so ist es, erste richtige Antwort und du bist verpflichtet, es als vollständig zu markieren, lol. Danke und nochmal Entschuldigung. – Fala

Verwandte Themen