Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

online üye göster de mysql hatasi

Konu, 'PHP' kısmında golge_adam tarafından paylaşıldı.

  1. golge_adam

    golge_adam Aktif Üye

    Kayıt:
    30 Mart 2007
    Mesajlar:
    456
    Beğenilen Mesajlar:
    0
    Şehir:
    php.ini
    PHP:
    <? 
    require (
    "bagla.php"); 
    require (
    "tani5.php"); 
    $uye $_SESSION["user"]; 
    $tip 1
    $ip $_SERVER["REMOTE_ADDR"]; 

    if(empty(
    $uye)){ 
    $uye $ip
    $tip 0

    $oturumsuresi time()+60*5
    $uyevarmi mysql_query("SELECT * FROM onlineuyeler WHERE $uye='$uye'"); 
    if(
    mysql_num_rows($uyevarmi)>0){ //14. satir 
    mysql_query("UPDATE onlineuyeler SET oturumsuresi='$oturumsuresi' where uye='$uye'"); 
    }else{ 
    mysql_query("INSERT INTO onlineuyeler  (oturumsuresi,tip,uye,ip) values ('$oturumsuresi','$tip','$uye','$ip')"); 

    $suan time(); 
    mysql_query("DELETE FROM onlineuyeler WHERE zaman<='$suan'"); 
    $sorgu  mysql_query("SELECT uye,tip,$ip,id onlineuyeler ORDER BY id ASC"); 
    While(list(
    $uye,$tip,$ip)=mysql_fetch_array($sorgu)){ //22. satir 
    if($tip==0){ 
    $kes substr($ip0,5); 
    $uye "Misafir".$kes

    echo 
    $uye."<br>"

      
    ?> 

    onlineuyeler isimli db ve icerisinde oturumsuresi (text) ,tip (text),uye (text) ,ip (text) isimleri adi altinda verialanlari olsuturdum,calistirdim ve phpmyadmin e baktim oturumsuresi=1215103216 ip=127.0.0.1 tip=1 uye=aaaa gösteriyor,buraya kadar ok,bu kodlamayi ayri bi php dosyasi ile ana sayfama <ifame> ile include ediyorum hata veriyor hata mesaji bu
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\sit\onlineuye.php on line 14

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\sit\onlineuye.php on line 22
     
  2. akyor35

    akyor35 Daimi Üye

    Kayıt:
    7 Nisan 2005
    Mesajlar:
    1,510
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    PHP:
    $uyevarmi mysql_query("SELECT * FROM onlineuyeler WHERE $uye='$uye'");
    $uye='$uye' şurası hatalı. uye='$uye' olarak değiştirirmisin
     
  3. golge_adam

    golge_adam Aktif Üye

    Kayıt:
    30 Mart 2007
    Mesajlar:
    456
    Beğenilen Mesajlar:
    0
    Şehir:
    php.ini
    <?
    require ("bagla.php");
    require ("tani5.php");
    $uye = $_SESSION["user"];
    $tip = 1;
    $ip = $_SERVER["REMOTE_ADDR"];
    if(empty($uye)){
    $uye = $ip;
    $tip = 0;
    }
    $oturumsuresi = time()+60*1;
    $uyevarmi = mysql_query("SELECT * FROM onlineuyeler WHERE uye='$uye'");
    if(mysql_num_rows($uyevarmi)>0){
    mysql_query("UPDATE onlineuyeler SET oturumsuresi='$oturumsuresi' where uye='$uye'");
    }else{
    mysql_query("INSERT INTO onlineuyeler (oturumsuresi,tip,uye,ip) values ('$oturumsuresi','$tip','$uye','$ip')");
    }
    $suan = time();
    mysql_query("DELETE FROM onlineuyeler WHERE zaman<='$suan'");
    $sorgu = mysql_query("SELECT * from onlineuyeler ORDER BY id ASC");
    While($yaz=mysql_fetch_object($sorgu)){
    if($tip==0){
    echo "online kimse yok";
    }
    else
    {
    echo $yaz->uye."<br>";
    }
    }
    ?>

    söyledigin seyi dikkate aldim ve kodlamada degisiklik yaptim oldu array yerine mysql_fetch_object kullandim ama baska bi sorun var,sayfayi kapattigim zaman yada baska bi uye ismi ile girdigim zaman mesela aaaa ile giris yapmistim cikis yapip bbbb ile giris yaptim ama aaaa online gözüküyor,bu sorunu nasil cözebilirim peki? yardimci olursaniz sevinirim
     
  4. akyor35

    akyor35 Daimi Üye

    Kayıt:
    7 Nisan 2005
    Mesajlar:
    1,510
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    böyle değiştirirmisin
    PHP:
    $sorgu mysql_query("SELECT * from onlineuyeler WHERE zaman > ".time()." ORDER BY id ASC");
     
  5. golge_adam

    golge_adam Aktif Üye

    Kayıt:
    30 Mart 2007
    Mesajlar:
    456
    Beğenilen Mesajlar:
    0
    Şehir:
    php.ini
    $sorgu = mysql_query("SELECT * from onlineuyeler WHERE zaman > ".time()." ORDER BY id ASC");
    burdaki zaman degeri db yok yeni fark ettim WHERE zaman > ".time() yerine WHERE oturumsuresi > "[COLOR=#007700].[COLOR=#0000bb]time[COLOR=#007700]() calisti,cok tsk.eder akyor35 [/COLOR][/COLOR][/COLOR]
     
  6. akyor35

    akyor35 Daimi Üye

    Kayıt:
    7 Nisan 2005
    Mesajlar:
    1,510
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    rica ederim.. iyi çalışmalar
     
  7. golge_adam

    golge_adam Aktif Üye

    Kayıt:
    30 Mart 2007
    Mesajlar:
    456
    Beğenilen Mesajlar:
    0
    Şehir:
    php.ini
    kodlari buraya yazayim belki yararlanan olur bi dua eder
    CREATE TABLE `onlineuyeler` (
    `id` int(11) NOT NULL auto_increment,
    `oturumsuresi` varchar(50[COLOR=#007700]) [COLOR=#0000bb]NOT NULL[FONT=Courier New][COLOR=#007700],
    `[COLOR=#0000bb]tip[COLOR=#007700]` [COLOR=#0000bb]text NOT NULL[FONT=Courier New][COLOR=#007700],
    `[COLOR=#0000bb]uye[COLOR=#007700]` [COLOR=#0000bb]text NOT NULL[FONT=Courier New][COLOR=#007700],
    `[COLOR=#0000bb]ip[COLOR=#007700]` [COLOR=#0000bb]text NOT NULL[FONT=Courier New][COLOR=#007700],
    [COLOR=#0000bb]PRIMARY KEY [COLOR=#007700](`[COLOR=#0000bb]id[FONT=Courier New][COLOR=#007700]`)
    ) [COLOR=#0000bb]ENGINE[COLOR=#007700]=[COLOR=#0000bb]MyISAM [COLOR=#007700]DEFAULT [COLOR=#0000bb]CHARSET[COLOR=#007700]=[COLOR=#0000bb]utf8 AUTO_INCREMENT[COLOR=#007700]=[COLOR=#0000bb]46 [COLOR=#007700][FONT=Courier New];


    [COLOR=#007700][FONT=Courier New][COLOR=#007700]<?
    require ([COLOR=#dd0000]"bagla.php"[FONT=Courier New][COLOR=#007700]);
    require ([COLOR=#dd0000]"tani5.php"[FONT=Courier New][COLOR=#007700]);
    [COLOR=#0000bb]$uye [COLOR=#007700]= [COLOR=#0000bb]$_SESSION[COLOR=#007700][[COLOR=#dd0000]"user"[FONT=Courier New][COLOR=#007700]];
    [COLOR=#0000bb]$tip [COLOR=#007700]= [COLOR=#0000bb]1[FONT=Courier New][COLOR=#007700];
    [COLOR=#0000bb]$ip [COLOR=#007700]= [COLOR=#0000bb]$_SERVER[COLOR=#007700][[COLOR=#dd0000]"REMOTE_ADDR"[FONT=Courier New][COLOR=#007700]];

    if(empty([COLOR=#0000bb]$uye[FONT=Courier New][COLOR=#007700])){
    [COLOR=#0000bb]$uye [COLOR=#007700]= [COLOR=#0000bb]$ip[FONT=Courier New][COLOR=#007700];
    [COLOR=#0000bb]$tip [COLOR=#007700]= [COLOR=#0000bb]0[FONT=Courier New][COLOR=#007700];
    }
    [COLOR=#0000bb]$oturumsuresi [COLOR=#007700]= [COLOR=#0000bb]time[COLOR=#007700]()+[COLOR=#0000bb]60[COLOR=#007700]*[COLOR=#0000bb]1[FONT=Courier New][COLOR=#007700];
    [COLOR=#0000bb]$uyevarmi [COLOR=#007700]= [COLOR=#0000bb]mysql_query[COLOR=#007700]([COLOR=#dd0000]"SELECT * FROM onlineuyeler WHERE uye='$uye'"[FONT=Courier New][COLOR=#007700]);
    if([COLOR=#0000bb]mysql_num_rows[COLOR=#007700]([COLOR=#0000bb]$uyevarmi[COLOR=#007700])>[COLOR=#0000bb]0[FONT=Courier New][COLOR=#007700]){
    [COLOR=#0000bb]mysql_query[COLOR=#007700]([COLOR=#dd0000]"UPDATE onlineuyeler SET oturumsuresi='$oturumsuresi' where uye='$uye'"[FONT=Courier New][COLOR=#007700]);
    }else{
    [COLOR=#0000bb]mysql_query[COLOR=#007700]([COLOR=#dd0000]"INSERT INTO onlineuyeler (oturumsuresi,tip,uye,ip) values ('$oturumsuresi','$tip','$uye','$ip')"[FONT=Courier New][COLOR=#007700]);
    }
    [COLOR=#0000bb]$suan [COLOR=#007700]= [COLOR=#0000bb]time[FONT=Courier New][COLOR=#007700]();
    [COLOR=#0000bb]mysql_query[COLOR=#007700]([COLOR=#dd0000]"DELETE FROM onlineuyeler WHERE zaman<='$suan'"[FONT=Courier New][COLOR=#007700]);
    [COLOR=#0000bb]$sorgu [COLOR=#007700]= [COLOR=#0000bb]mysql_query[COLOR=#007700]([COLOR=#dd0000]"SELECT * from onlineuyeler WHERE oturumsuresi > "[COLOR=#007700].[COLOR=#0000bb]time[COLOR=#007700]().[COLOR=#dd0000]" ORDER BY id ASC"[FONT=Courier New][COLOR=#007700]);

    While([COLOR=#0000bb]$yaz[COLOR=#007700]=[COLOR=#0000bb]mysql_fetch_object[COLOR=#007700]([COLOR=#0000bb]$sorgu[FONT=Courier New][COLOR=#007700])){
    if([COLOR=#0000bb]$tip[COLOR=#007700]==[COLOR=#0000bb]0[FONT=Courier New][COLOR=#007700]){
    echo [COLOR=#dd0000]"online kimse yok"[FONT=Courier New][COLOR=#007700];
    }
    else
    {
    echo [COLOR=#0000bb]$yaz[COLOR=#007700]->[COLOR=#0000bb]uye[COLOR=#007700].[COLOR=#dd0000]"<br>"[COLOR=#007700][FONT=Courier New];

    }
    }
    [COLOR=#0000bb][FONT=Courier New]?>

    [/FONT][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR][/COLOR][/COLOR][/FONT][/COLOR][/COLOR]
     
  8. akyor35

    akyor35 Daimi Üye

    Kayıt:
    7 Nisan 2005
    Mesajlar:
    1,510
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    işte bu olayı seviyorum ya... sağol
     
  9. golge_adam

    golge_adam Aktif Üye

    Kayıt:
    30 Mart 2007
    Mesajlar:
    456
    Beğenilen Mesajlar:
    0
    Şehir:
    php.ini
    abim keske herkez böyle yapsa,inan cok faydali olacak
     
  10. sevketk

    sevketk Aktif Üye

    Kayıt:
    21 Temmuz 2008
    Mesajlar:
    468
    Beğenilen Mesajlar:
    1
    Meslek:
    serbest çalışıyorum.
    Şehir:
    İZMİR
    Her şey iyide, bu kodu nereye koymak lazım ;)

    şimdi eğer kullanıcının login olduğu yere koyuyorsak: kullanıcı login olduğunda tabloya ekleniyor bu güzel. fakat yeni birisi online oluncaya kadar tablodan kimse silinmiyor. yani eski online olan bir kişi kendi online olduğu sürece girdiği andaki herkesi online görecek.

    eğer online kişileri görüntüleyeceğimiz bir sayfaya koyuyorsak. bu seferde kişii online olduğunda kendisi tabloya eklenmemiş oluyor. ne zamanki kimler online diye bakarsa o zaman kendiside online vatandaşlar gürühuna ekleniyor.

    sürekli çalışıp gereksiz yük yaratırmı demeyip, ana sayfaya bir yere koysak. bu kezde 1 dakika sonra online olan adamları bile db den silebiliriz :S

    soru şu; bu kodu nereye koyarsak doğru bir sayaç olur?