Php Session Sorunum

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    iLLuMiNaTi
    iLLuMiNaTi's avatar
    Kayıt Tarihi: 08/Mart/2007
    Erkek

    oturum kontrol fonksiyonum ;

    --------

    function oturum_kontrol($parametre1,$parametre2){
    if($parametre1!="" && $parametre2!=""){
    $kontrol = Sor("SELECT kullaniciadi, sifre FROM kullanicilar WHERE
    kullaniciadi='
    {$parametre1}' AND sifre='{$parametre2}'");
    if(say($kontrol)>0){
    $yaz = yaz($kontrol);
    if($_SESSION["kullaniciadi"]==$yaz["kullaniciadi"] and
    $_SESSION["oturum"]==$yaz["sifre"].$_SERVER["REMOTE_ADDR"]){
    return true;
    }else{
    return false;
    }
    }else{
    return false;
    }
    }else{
    return false;
    }

    }

    --------

    Kontrol sorgum ;

    --------

    if(oturum_kontrol(session_yazdir("kullaniciadi"),session_yazdir("oturum"))){
    echo "Oturum Açma Başarılı";
    }else{
    echo "Oturum Açma Başarısız.";
    }

    --------

    Bunu çalıştırdığım zaman oturum açma başarısız uyarısı alıyorum.

    Ve error log da şunlar yazıyor.

    [20-Mar-2016 14:02:14 Europe/Istanbul] PHP Notice:  Undefined index: kullaniciadi in ......./fonksiyonlar.php on line 83

    [20-Mar-2016 14:02:14 Europe/Istanbul] PHP Notice:  Undefined index: oturum in ......./fonksiyonlar.php on line 83

    Fakat ;

    --------

    echo isset($_SESSION['kullaniciadi']);
    echo isset($_SESSION['oturum']);

    --------

    Kontrolü yaptığım zaman da true değeri alıyorum. 

    Kafam karıştı :S

    iLLuMiNaTi tarafından 20/Mar/16 14:21 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    session_start kullandın mı her sayfada?


    Bittik biz bittik
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Hocam mobilde olduğum için kodları tam olarak göremiyorum ama session ile ilgili sorunlar genelde  session_start ve ob_start gibi eksikliklerin kaynaklanıyor. Kodların başına session_start(); koyarak dene. Yine hata alırsan ob_start a da bak 


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    iLLuMiNaTi
    iLLuMiNaTi's avatar
    Kayıt Tarihi: 08/Mart/2007
    Erkek

    hepsi var arkadaşlar

    hem session_start

    hem de 

    ob_start

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tutkun
    tutkun's avatar
    Kayıt Tarihi: 20/Mayıs/2010
    Erkek
    iLLuMiNaTi bunu yazdı

    oturum kontrol fonksiyonum ;

    --------

    function oturum_kontrol($parametre1,$parametre2){
    if($parametre1!="" && $parametre2!=""){
    $kontrol = Sor("SELECT kullaniciadi, sifre FROM kullanicilar WHERE
    kullaniciadi='
    {$parametre1}' AND sifre='{$parametre2}'");
    if(say($kontrol)>0){
    $yaz = yaz($kontrol);
    if($_SESSION["kullaniciadi"]==$yaz["kullaniciadi"] and
    $_SESSION["oturum"]==$yaz["sifre"].$_SERVER["REMOTE_ADDR"]){
    return true;
    }else{
    return false;
    }
    }else{
    return false;
    }
    }else{
    return false;
    }

    }

    --------

    Kontrol sorgum ;

    --------

    if(oturum_kontrol(session_yazdir("kullaniciadi"),session_yazdir("oturum"))){
    echo "Oturum Açma Başarılı";
    }else{
    echo "Oturum Açma Başarısız.";
    }

    --------

    Bunu çalıştırdığım zaman oturum açma başarısız uyarısı alıyorum.

    Ve error log da şunlar yazıyor.

    [20-Mar-2016 14:02:14 Europe/Istanbul] PHP Notice:  Undefined index: kullaniciadi in ......./fonksiyonlar.php on line 83

    [20-Mar-2016 14:02:14 Europe/Istanbul] PHP Notice:  Undefined index: oturum in ......./fonksiyonlar.php on line 83

    Fakat ;

    --------

    echo isset($_SESSION['kullaniciadi']);
    echo isset($_SESSION['oturum']);

    --------

    Kontrolü yaptığım zaman da true değeri alıyorum. 

    Kafam karıştı :S

    Fonksiyonundaki fonksiyonlardan bir şey anlamak zor, ama sanırım şuradaki kontrolde patlıyor olabilir;

    // bunun yerine
    if($_SESSION["kullaniciadi"]==$yaz["kullaniciadi"] and $_SESSION["oturum"]==$yaz["sifre"].$_SERVER["REMOTE_ADDR"])
    {
        return true;
    }else{
        return false;
    }
    
    // şöyle bir kontrol dener misin?
    if( isset($_SESSION['kullaniciadi']) && isset($_SESSION['oturum']) && $_SESSION['kullaniciadi']==$yaz['kullaniciadi'] && $_SESSION['oturum']==$yaz['sifre']) {
        return true;
    }
    return false;

    Ayrıca alt alta bir sürü return false koymuşsun. Gereksiz onların çoğu. En alta bir tane return false ifadesi koy. Diğerlerinin else kısmını kaldır. Zaten eğer if kısmına düşmezse if'ten sonra gelen return false dönecektir.

     

     

     

     

    tutkun tarafından 20/Mar/16 16:07 tarihinde düzenlenmiştir

    Bilen konuşmuyor, konuşan bilmiyor...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    iLLuMiNaTi
    iLLuMiNaTi's avatar
    Kayıt Tarihi: 08/Mart/2007
    Erkek
    tutkun bunu yazdı
     

    Fonksiyonundaki fonksiyonlardan bir şey anlamak zor, ama sanırım şuradaki kontrolde patlıyor olabilir;

    // bunun yerine
    if($_SESSION["kullaniciadi"]==$yaz["kullaniciadi"] and $_SESSION["oturum"]==$yaz["sifre"].$_SERVER["REMOTE_ADDR"])
    {
        return true;
    }else{
        return false;
    }
    
    // şöyle bir kontrol dener misin?
    if( isset($_SESSION['kullaniciadi']) && isset($_SESSION['oturum']) && $_SESSION['kullaniciadi']==$yaz['kullaniciadi'] && $_SESSION['oturum']==$yaz['sifre']) {
        return true;
    }
    return false;

    Ayrıca alt alta bir sürü return false koymuşsun. Gereksiz onların çoğu. En alta bir tane return false ifadesi koy. Diğerlerinin else kısmını kaldır. Zaten eğer if kısmına düşmezse if'ten sonra gelen return false dönecektir.

     

     

     

    Hocam fonksiyon içindeki fonksiyonlar sor yaz gibi şeyler mysql_fetch_array gibi basit şeyleri kısatmak için kullandıklarım

    returnları kaldırsamda, dediğin diğerini yapsamda değişmedi gene :( 

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    babayarisi
    babayarisi's avatar
    Kayıt Tarihi: 17/Mart/2014
    Erkek
    echo isset($_SESSION['kullaniciadi']);
    echo isset($_SESSION['oturum']);

    yerine  var_dump($_SESSION);   yazarmısın hocam neyi set etmiş  set ettiği değerler doğrumu

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    iLLuMiNaTi
    iLLuMiNaTi's avatar
    Kayıt Tarihi: 08/Mart/2007
    Erkek
    babayarisi bunu yazdı
    echo isset($_SESSION['kullaniciadi']);
    echo isset($_SESSION['oturum']);

    yerine  var_dump($_SESSION);   yazarmısın hocam neyi set etmiş  set ettiği değerler doğrumu

    array(3) { ["kullaniciadi"]=> string(5) "Admin" ["sifre"]=> string(6) "123456" ["oturum"]=> string(32) "51ca77ddbc1ce7b5ff9c7cb56cd56892" } oturum açma başarılı olmadı

    Değerler doğru

    iLLuMiNaTi tarafından 20/Mar/16 16:46 tarihinde düzenlenmiştir
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    babayarisi
    babayarisi's avatar
    Kayıt Tarihi: 17/Mart/2014
    Erkek
    iLLuMiNaTi bunu yazdı
    babayarisi bunu yazdı
    echo isset($_SESSION['kullaniciadi']);
    echo isset($_SESSION['oturum']);

    yerine  var_dump($_SESSION);   yazarmısın hocam neyi set etmiş  set ettiği değerler doğrumu

    array(3) { ["kullaniciadi"]=> string(5) "Admin" ["sifre"]=> string(6) "123456" ["oturum"]=> string(32) "51ca77ddbc1ce7b5ff9c7cb56cd56892" } oturum açma başarılı olmadı

    Değerler doğru

    oturum_kontrol fonksiyonunda var_dump($yaz); yap bi hocam mysqlden gelenlere bakak.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nurulmac11
    nurulmac11's avatar
    Kayıt Tarihi: 04/Ağustos/2012
    Erkek

    dosyanin/dosyaların tamamını atabilir misin ?


    black implies white, self implies other, life implies death.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek
    if($_SESSION["kullaniciadi"]==$yaz["kullaniciadi"] and 
    $_SESSION["oturum"]==$yaz["sifre"].$_SERVER["REMOTE_ADDR"]){

    Bunun üstüne önce isset yaptırcaksın, varsa bunlara bakacak.

    Hello, i am nothing. I come from Neverland.
Toplam Hit: 2008 Toplam Mesaj: 24
php