2017-04-15 3 views
0

Überprüfen Sie, ob der Benutzer angemeldet ist oder nicht, wenn der Benutzer mit Alert mit Dank für die Bewertung angemeldet ist, und wenn nicht bitte mit einloggen um zu bewertenüberprüfen Sie, ob Benutzer mit JQuery-Bewertung angemeldet ist und Warnung müssen Sie angemeldet sein, wenn nicht

Diese Abfrage verwendet dieses PHP unten, um den Benutzer zu warnen, dass er/sie erfolgreich bewertet hat. Ich habe es geschafft, die Bewertung nur einzugeben, wenn der Benutzer mit PHP angemeldet ist und keine Bewertung einfügt, wenn er/sie nicht eingeloggt ist. Wie kann ich jedoch die JQuery reparieren, um den Benutzer mit der entsprechenden Nachricht basierend darauf zu benachrichtigen, ob der Benutzer angemeldet ist in oder nicht?

// this page is rate.php 

<?php 

    include 'core/init.php'; 

if (isset($_POST['rate']) && !empty($_POST['rate'])) { 
    if(isset($session_user_id)){ 
    $rate = sanitize($_POST['rate']); 
    $vidid = sanitize($_POST['vid_id']); 
// check if user has already rated 
    $sql = "SELECT `id` FROM `rating` WHERE `rater_id`='" . 
    $session_user_id."' AND `video_id` = '".$vidid."'"; 
    $result = $conn->query($sql); 
    $row = $result->fetch_assoc(); 
    if ($result->num_rows > 0) { 

    $sql = "UPDATE rating SET `rate` = '$rate' WHERE `rater_id`='" . $session_user_id . "' AND `video_id` = '".$vidid."'"; 
     if (mysqli_query($conn, $sql)) {  } 
    echo $row['id']; 
} else { 

    $sql = "INSERT INTO `rating` (`video_id`, `rater_id`, `rate`) VALUES ('$vidid' ,'$session_user_id', '$rate')"; 
    if (mysqli_query($conn, $sql)) { 
    //success 
    json_encode(array('status'=>'active')); 
    }else 
    echo "fail"; 
} 
}else{ 
    //not logged in 
    json_encode(array('status'=>'inactive')); 
    } 
    } 

?> 
+0

In Ihrer PHP tun, Sie sollte ihren Status zurückgeben, anstelle von "0" '/' "fail" '/' "müssen Sie eingeloggt sein um" "zu bewerten. dh. 'echo json_encode (array (" status "=>" aktiv ");'/'echo json_encode (array (" status "=>" inaktiv ");'. Dann in deinem '$ .post() :: success', überprüfe den Status, zB. 'if (d.status == 'active') {// sag danke, und überprüfe die Bewertung} else if (d.status == 'inactive') {// Sag ihnen, dass sie sich zuerst einloggen sollen } ' – Sean

+0

@Sean Hallo danke für die Antwort, aber wo muss ich den json_encode (Array ... mit dem Status bei? –

+0

@Sean echo Ich habe den Beitrag bearbeitet und hinzugefügt, was Sie für mich empfohlen, aber es ist immer noch nicht funktioniert es gibt andere Möglichkeiten, die ich mit diesem Problem umgehen kann? –

Antwort

0

rate.php:

Echo der json codierten Array an beiden Orten

echo json_encode(array('status'=>'active')); 

in jquery Beitrag: d.trim(status) entfernen, anstatt

d.status && d.status == 'active' 
+0

Ich habe das JSON-Objekt analysieren und aktualisiert meine Antwort, es funktioniert immer noch nicht, ich schätze Ihre Hilfe tho. –

+0

welche Benutzer sind versuchst du? das, das eingeloggt ist und bereits bewertet hat oder das, das eingeloggt ist, aber nicht bewertet hat? –

+0

ich probiere es an e, das nicht eingeloggt ist, aber versucht zu bewerten. –

Verwandte Themen