• 08-03-2009, 18:50:49
    #1
    Eposta Aktivasyonu Gerekmekte
    Merhaba arkadaşlar basit bir kodda saatlerce uğraşıyorum kafayı yiyeceğim.
    Bir tablodaki cogul adındaki sütündaki bilgiyi her sayfa açılınca değerini 1 arttırmak istiyorum.
    Boş bir sayfa açıyorum :
    <?php
    include "vt.php";
    mysql_query("UPDATE makaleler SET cogul=cogul+1 WHERE id=1");
    ?>
    içine sadece bunları yazıp kaydediyorum.Her çalıştırdığımda değeri 1 arttırıyor.

    Fakat makaleoku.php sayfamda aşşağıdaki kodu ekliyorum.
    mysql_query("UPDATE makaleler SET cogul=cogul+1 WHERE id='$id'");
    sayfayı her çağırdığımda 2 arttıyor.Kafayı yiğeceğim o kadar döngü içindede değil ama nedense hep 2 arttıyor.
    Bu sayfada .htaccess de kullanıyorum acaba etkisi olur mu bilmiyorum.
    .htaccess içeriği
    Options +FollowSymLinks
    RewriteEngine on
    ErrorDocument 404 Çok_yakinda
    RewriteRule makale/(.*)/(.*)_(.*) makaleoku.php?id=$1&islem=$3
    İyi akşamlar..


    Edit : Sonunda Çözümü buldum.Sorunun tasarımdan kaynaklanıyormuş gibi bişey geldi içimden.Sayfanın içeriğini başka bir sayfaya kopyaladım.İçeriğini yavaş yavaş kaldırıp kaydedip sayfayı önizleme yapıyordum.
    <img src="">
    diye bir kod koymuştum, daha sonra içeriğine resim koyarım diye, onu kaldırdığımda bi baktım 1'er 1'er artıyor
  • 08-03-2009, 18:55:59
    #2
    Üyeliği durduruldu
    Sayfayı 2 Kez Yenilemediginden Emimisin ?
  • 08-03-2009, 18:57:17
    #3
    Müdür bir footer php dosyan falan var mı?
    include edilen bir dosya falan varsa onda da bu kod varsa sorun yaşayabilirsin.
    Genelde böyle hatalarda neden en basit olandır.
  • 08-03-2009, 19:01:12
    #4
    Eposta Aktivasyonu Gerekmekte
    digiklan adlı üyeden alıntı: mesajı görüntüle
    Müdür bir footer php dosyan falan var mı?
    include edilen bir dosya falan varsa onda da bu kod varsa sorun yaşayabilirsin.
    Genelde böyle hatalarda neden en basit olandır.
    İnclude ettiğim sayfa, vt.php dosyası.Başka bir boş sayfada onu çağırıp,update ile +1 denediğimde sorun olmuyor.makaleoku.php de oluyor.Sayfayı sadece bir kez yenilediğime eminim.fotter.php falan gibi bişey yok çünkü kendim yazıyor.kendi scriptim.


    Sayfa böyle başlıyor.
    <?php
    session_start();
    header ("Content-Type: text/html; charset=ISO-8859-9");
    include ("vt.php");
    $nedir=$_SERVER["HTTP_USER_AGENT"];
    if ($nedir=="") {
    exit();
    }
    $id=$_GET["id"];
    $islem=$_GET["islem"];
    if(!is_numeric($id) || strlen($id)>5){
    echo "ID BİLGİSİ HATALI!";
    exit();
    }
    if(!is_string($islem) || strlen($islem)>11){
    echo "İŞLEM BİLGİSİ HATALI!";
    exit();
    }
    
    $makalebilgi=mysql_fetch_array(@mysql_query("SELECT * FROM makaleler where id='$id'")) or die ("ARANAN MAKALE BULUNAMADI");
    $kacyorum=@mysql_fetch_array(@mysql_query("SELECT count(id) FROM yorumlar where makid='$id'"));
    $yorumkac=$kacyorum[0];
    $kati=$makalebilgi["katid"];
    $cogul=$makalebilgi["cogul"];
    $katagoribilgi=mysql_fetch_array(@mysql_query("SELECT * FROM katagori where id='$kati'"));
  • 08-03-2009, 19:21:03
    #5
    makaleoku.php de
    mysql_query("UPDATE makaleler SET cogul=cogul+1 WHERE id='$id'");

    bu kodun önüne # koy bakalim artacak mi
  • 08-03-2009, 19:24:10
    #6
    Eposta Aktivasyonu Gerekmekte
    LaCReMeL adlı üyeden alıntı: mesajı görüntüle
    makaleoku.php de
    mysql_query("UPDATE makaleler SET cogul=cogul+1 WHERE id='$id'");
    bu kodun önüne # koy bakalim artacak mi
    İşin garip yanıda o o satırı kaldırınca ya da etkisizleştirince artma olmuyor.Aynı değerde kalıyor.
  • 08-03-2009, 19:40:48
    #7
    o sayfayı include ile çeken sayfa var mı? 2 defa çekiyordur belki
  • 08-03-2009, 19:52:13
    #8
    Dualwarior adlı üyeden alıntı: mesajı görüntüle
    İşin garip yanıda o o satırı kaldırınca ya da etkisizleştirince artma olmuyor.Aynı değerde kalıyor.
    o zaman o satir bir döngü içine geliyor olabilir. kodlarin tamamini buraya yükleyebilirsen beraber kontrol edebiliriz.
    bu arada cogul sütununun yapisi int degil mi ?
  • 08-03-2009, 20:20:38
    #9
    Üyeliği durduruldu
    cogul sutuunun int'd olabilir eger cogul+1 yapıyorsan birde default olarak coul sutununa 0 verip denermisin