• 04-07-2010, 17:38:08
    #1
    Üyeliği durduruldu
    Merhaba Arkadaşlar,
    Mağlum Ceviz.net 'de görebildiğimiz, portalda vbulletin oturum bilgilerini kullanarak üye girişi yapmaya çalışıyorum. Burda bana üyenin giriş yapmış durumda olup olmadığının ve giriş yapmışsa isim şu bu vs. bilgilerini db'den çekmek içinde userid'ine ihtiyacım var. Üye beni hatırla ile giriş yaparsa userid cookie'lerde yer alıyor yapmazsa üyeyi tanımlıyabileceğim tek çağre sessionhash kalıyor. Ancak şu var sessionhash vb_session tablosunda varchar veri türü ile tutuluyor ve aynı tabloda userid'de tutuluyor ancak bunu where sessionhash='d4sa5d4as564da' vs şeklinde eşitliyerek elimdeki sessionhash 'dan userid 'i çekemiyorum.

    Tablonun yapısı şu şekilde ve ben böyle çekmeye çalışıyorum. Çekim şeklinde bir yanlışlık veya bu olaylardan farklı benzer bir vbulletin giriş yöntemi bilen arkadaşlar yardımcı olurlarsa sevinirim. vbulletin versiyonu 4

    Çekim Şekli ;
    PHP Kodu:
      if (empty($_COOKIE['bb_sessionhash'])) {
    
        $giriscikis = '<strong>Hoşgeldiniz Ziyaretci,</strong>';
        
    } else {
    
    @$result = mysql_fetch_array(mysql_query("SELECT * FROM vb3_session WHERE sessionhash ='".$_COOKIE['bb_sessionhash']."' "));
    
    @$uyelik = mysql_fetch_array(mysql_query("SELECT * FROM vb3_user WHERE userid='".$result['userid']."' "));
    
        echo '<strong>Hoşgeldin '.$uyelik['username'].', <a href="http://xxx.com/usercp.php">Kontrol Paneli</a>,
    <a href="http://xxx.com/private.php?">Özel Mesajlar</a></strong>';
    
    };



    Tablo ;
       Kod:
     CREATE TABLE `vb3_session` (
      `sessionhash` varchar(32) NOT NULL default '',
      `userid` int(10) unsigned NOT NULL default '0',
      `host` varchar(15) NOT NULL default '',
      `idhash` varchar(32) NOT NULL default '',
      `lastactivity` int(10) unsigned NOT NULL default '0',
      `location` varchar(255) NOT NULL default '',
      `useragent` varchar(100) NOT NULL default '',
      `styleid` smallint(5) unsigned NOT NULL default '0',
      `languageid` smallint(5) unsigned NOT NULL default '0',
      `loggedin` smallint(5) unsigned NOT NULL default '0',
      `inforum` smallint(5) unsigned NOT NULL default '0',
      `inthread` int(10) unsigned NOT NULL default '0',
      `incalendar` smallint(5) unsigned NOT NULL default '0',
      `badlocation` smallint(5) unsigned NOT NULL default '0',
      `bypass` tinyint(4) NOT NULL default '0',
      `profileupdate` smallint(5) unsigned NOT NULL default '0',
      PRIMARY KEY  (`sessionhash`),
      KEY `user_activity` (`userid`,`lastactivity`),
      KEY `guest_lookup` (`idhash`,`host`,`userid`)
    ) ENGINE=MEMORY DEFAULT CHARSET=latin1;
    Şimdiden Teşekkürler..

    .
  • 04-07-2010, 17:42:45
    #2
    Şu şekilde yapabilirsiniz denemedim ama sorun çıkarsa yazarsınız.

    <?php
    define('KLASOR',$_SERVER['DOCUMENT_ROOT']);
    require_once(KLASOR . '/forumdizini/global.php');
    if(empty($vbulletin->userinfo['userid']))
    {
    	print_no_permission();
    }
    else
    {
    $kullaniciadi = $vbulletin->userinfo['username'];
    }
    echo $kullanicadi; // kullanıcı adını ekrana yazdırır örnek 'vBulletinMaster'
    ?>
  • 04-07-2010, 18:26:17
    #3
    Üyeliği durduruldu
    vBulletinMaster adlı üyeden alıntı: mesajı görüntüle
    Şu şekilde yapabilirsiniz denemedim ama sorun çıkarsa yazarsınız.
    bu şekilde olmuyor portalda yığınla global.php'ye bağlı hatalar veriyor daha önce onu include ederek denedim,

    aslında şu beni hatırla olmadan giriş yaptığındada userid 'i cookie'e kaydetse gerisi kolay olucak ama login.php de o kısmı bulamadım.
  • 04-07-2010, 18:31:38
    #4
    Özel olarak portal kodlayabilirim isterseniz.
  • 04-07-2010, 18:33:32
    #5
    Üyeliği durduruldu
    vBulletinMaster adlı üyeden alıntı: mesajı görüntüle
    Özel olarak portal kodlayabilirim isterseniz.
    hocam benimde kendi portalım var zaten şu login.php beni hatırla demedende userid kaydını cookie'e verse o satırları bulsam olay biticekde