v2.5.2
Giriş yap

Update Sorunu

emmir2
436 defa görüntülendi

Selamlar arkadaşlar online kullanıcı sayısı ve hangi sayfalar da olduğunu kayıt ettiren bir fonksiyonum var lakin function içinde sayfa kısmı kayıt olmuyor

Sadece klasör adını alıyor

farklı bir alan da

echo $_SERVER["REQUEST_URI"].PHP_EOL;

yapınca sorunsuz url kısmını veriyor çözemedim

Kodlarım

function sayac(){
        global $db;
    $bugun=date("d"); 
    $ay=date("m"); 
    $yil=date("Y"); 
    $page = $_SERVER["REQUEST_URI"].PHP_EOL;
    $onlineSuresi=time()-2*60*60; 
    $ip=$_SERVER['REMOTE_ADDR']; 
    $bugunGiris=$db->query("SELECT * FROM hit WHERE ip='$ip' AND gun='$bugun'")->rowCount(); 
    if($bugunGiris!=0){ 
        $al=$db->query("SELECT * FROM hit WHERE ip='".$ip."' AND gun ='".$bugun."'")->fetch();
    $guncelle=$db->query("UPDATE hit SET sayac='".($al['sayac']+1)."', page = '$page' WHERE id='".$al['id']."'"); 
    }else{ 
        $db->query("INSERT INTO hit SET gun='$bugun', ay= '$ay', yil ='$yil', page ='$page', simdi='".time()."', sayac='1',ip='$ip'");
    }

}sayac();
Cevap yaz
Cevaplar (3)
orange
751 gün önce

Merhaba,

Bu sorguları tek bir sorguya indirgeyebilirsiniz.

INSERT INTO hit (gun, ay, yil, page, simdi, sayac, ip) VALUES (19, 'Nisan', 2022, 1650397718, 1, '8.8.8.8') ON DUPLICATE KEY UPDATE sayac = sayac + 1;
munzevi
751 gün önce

kolonu varchar olarak belirttiysen ve uzunluk değerini belirttiysen, ne kadar uzunluk olursa olsun, belirttiğin değerin uzunluğu kadarını alır gerisini keser. bir kontrol et yapını. birde tavsiye olarak, bu şekilde veritabanını yavaşlatırsın, sorgu sürelerin uzar. ayrıca güvenli bir kullanım değil, urlden parametre bildirilerek sql için bir enjeksiyon unsuru taşıyor sorguların. bindparam kullan.

mubado
751 gün önce

PHP_SELF