jQuery, PHP: jQuery bir PHP komut dosyası arama, ancak yürütme gibi görünmüyor

1 Cevap php

Ben burada bu sitede bulunan kaynak kodu kullanıyorum: http://webtint.net/tutorials/5-star-rating-system-in-php-mysql-and-jquery/comment-page-1/#comment-2562

Fantastik bir kaynak, hepinizin kabul edeceğiz düşünüyorum, ama benim sorunum, benim JavaScript aslında PHP komut dosyası yürütme gibi görünmüyor ki ...

Ben sondan bir önceki hattı için Chrome'un ayıklayıcısında bir kesme noktası eklediğinizde (önce}); )

$("[id^=rating_]").children("[class^=star_]").click(function() {

        var current_star = $(this).attr("class").split("_")[1];
        var rid = $(this).parent().attr("id").split("_")[1];

        $('#rating_'+rid).load('http://localhost:8888/fivestars/send.php', {rating: current_star, id: rid});


    });

Beklediğiniz gibi, başarıyla kesme durur. Ancak ben sadece basit olmayacak, aslında bir şey DO send.php alınamıyor! Eğer kod görebileceğiniz gibi mutlak bir URL kullandım ama göreli bir URL ile çalışmak ya da sadece o yerde send.php olmaz. Ama açıkça değil - Ben sadece bu yüzden idam ediliyor olmadığını test edebilirsiniz veritabanına 'Başarı' yazıyor send.php kodu koydum.

Herkes herhangi bir fikir var mı?

Teşekkürler!

Kriko

EDIT: Sadece önceden kullandığı ne yerine bu kod çalıştı:

$('#rating_'+rid).load('send.php', function () {alert('Load was performed.');});

Diyalog düzgün görüntüler, bu yüzden işe yarıyor eminim.

Başvuru için, send.php bir PHP kodu:

<?php

$rating = (int)$_POST['rating'];
$id = (int)$_POST['id'];

$this->db->query("INSERT INTO code (rating) VALUE (8)");
$query = $this->db->query("SELECT * FROM code WHERE id = '".$id."'");

while($query->row()) {

    if($rating > 5 || $rating < 1) {
        echo"Rating can't be below 1 or more than 5";
    }

    elseif(isset($_COOKIE['rated'.$id])) {
        echo"<div class='highlight'>You've already voted, sorry!</div>";
    }
    else {
        setcookie("rated".$id, $id, time()+60*60*24*365);

//      $total_ratings = $row['total_ratings'];
        $total_ratings = $query->row('total_ratings');
        $total_rating = $query->row('total_rating');
        $current_rating = $query->row('rating');

        $new_total_rating = $total_rating + $rating;
        $new_total_ratings = $total_ratings + 1;
        $new_rating = $new_total_rating / $new_total_ratings;
        // Lets run the queries. 

        $this->db->query("UPDATE test SET total_rating = '".$new_total_rating."' WHERE id = '".$id."'");
        $this->db->query("UPDATE test SET rating = '".$new_rating."' WHERE id = '".$id."'");
        $this->db->query("UPDATE test SET total_ratings = '".$new_total_ratings."' WHERE id = '".$id."'");

        echo"<div class='highlight'>Thanks for your vote!</div>";

    }
}

?>

Maalesef bu biraz dağınık ama benim CodeIgniter Kütüphaneler varsayılan PHP kodu göç ettik.

1 Cevap

Isteği gerçekten web sunucusuna oluyor olmadığını kontrol etmek için ilk şey web sunucusundan erişim ve hata günlükleri görmek istiyorum.