Şimdi Ara

Puanları Toplayamıyorum (Yardım İsteği)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
5
Cevap
0
Favori
493
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Selamlar Arkadaşlar;

    Bir buçuk iki senedir amatör olarak web tasarımı işi ile uğraşmaktayım. Önceleri bir CMS sistemi olan PHP Fusion ile uğraşıyordum ve bu nedenle PHP sistemlere alışığım.

    Bir siteden kendim için oyun script i satın aldım ve şu anda bunu geliştirmeye çalışmaktayım.

    Her oyun yada her oyun incelemesinin altında ilgili yazı yada oyun için bir puan verme bölümü var. Fakat sadece tek bir puan verilebiliyor. Yani daha önce kimse puan vermemiş ise, ilk puan sorunsuz bir şekilde verilebiliyor. Fakat bir sonraki puan veremiyor.

    Çok uğraştım fakat bir türlü çözemedim.. Rica etsem PHP den anlayan arkadaşlar bana yardımcı olabilirler mi?

    İlgili kod aşağıdadır...

    Şimdiden çok teşekkür ederim...

    //---------------------------------------------- START ratings ----------------------------------------------// 
    // Divider //
    $divtitle = "Bu Oyuna Puan Verin";
    include "templates/$skin/divtitle.php";
    $max_rows = 10000;
    $ratings=Array("$lang_sel_select", "$lang_sel_poor", "$lang_sel_fair", "$lang_sel_good", "$lang_sel_very_good", "$lang_sel_excellent");
    if ($_REQUEST[id]) {
    $last_ip = $REMOTE_ADDR;
    $result = mysql_query("SELECT * FROM game_rate WHERE id=$_GET[id]");
    $fields = mysql_fetch_row($result);
    if (!$fields[0]) {
    $num_rows = mysql_result(mysql_query("SELECT COUNT(id) FROM game_rate"),0);
    if ($num_rows <= $max_rows) {
    mysql_query("INSERT INTO game_rate VALUES ($_GET[id],0,0,'0.0.0.0')");
    $rating = 0;
    $votes = 0;
    }
    else die("Error: Max rows reached.");
    }
    else {
    $rating = $fields[2];
    $votes = $fields[1];
    }
    if ($_POST[your_rating] > 0 and $fields[3] != $REMOTE_ADDR) {
    $your_rating = $_POST[your_rating] * 10;
    $votes++;
    $rating = ($fields[2]*$fields[1]+$your_rating)/$votes;
    mysql_query("UPDATE game_rate SET votes = $votes, rating = $rating, last_ip = '$REMOTE_ADDR' WHERE id=$_GET[id]");
    }
    $image = (round($rating/50,1)*50)."-star.gif";
    $note = number_format($rating/10, 1);
    $rting = $note * 2;
    echo "

    <SPAN class=\"content_large\"><B>Puanlama: <img src=\"$imagepath/$image\" align=\"absmiddle\"> </B></SPAN><SPAN class=\"contentlight\"></strong></B></B>(Aldığı Puan: $note , Puanlayan: $votes kişi)</SPAN>
    <select name=\"your_rating\" style=\"$form\">
    <option style=\"$form_dropdown1\" value=\"0\" selected>$ratings[0]";
    $query = "UPDATE gameindex SET rating='$note' WHERE id='{$_REQUEST['id']}'";
    $result = mysql_query($query) or die(mysql_error());
    for ($i=5; $i>=1; $i--) {
    echo "<option style=\"$form_dropdown2\" value=\"$i\">$ratings[$i]\n";
    }
    }
    else die("Error: ID not set!");
    ?>
    </select>
    <input type="submit" value="Puanla" style="<?echo "$form_submit"?>"></form>
    <?
    //---------------------------------------------- END ratings ----------------------------------------------//







  • aynı bilgisayardan ( aynı IP ) mi oy vermeye çalışıyorsunuz ?
  • hayır farklı IP lerden de denedim.. hatta başka arkadaşlara da denettirdim ama sonuç aynı ne yazık ki
  • $result = mysql_query("SELECT * FROM game_rate WHERE id=$_GET[id]");
    $fields = mysql_fetch_row($result);
    if (!$fields[0]) { // Oy verilmemişse
    $num_rows = mysql_result(mysql_query("SELECT COUNT(id) FROM game_rate"),0);
    if ($num_rows <= $max_rows) {
    mysql_query("INSERT INTO game_rate VALUES ($_GET[id],0,0,'0.0.0.0')");
    $rating = 0;
    $votes = 0;
    } // Oy verilmişse ?
    else die("Error: Max rows reached.");
    }

    İfleri kaldırırsan, Her kez verebilir ?
  • ilgine teşekkürler..
    şimdi denedim bunuda ama işe yaramadı malesef :( Hatta bu şekilde yapınca hiç oy olmamış oyunlara bile puan veremiyoruz :(
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.