• 23-08-2017, 14:01:10
    #1
    Arkadaşlar pdo ile bir fonksiyon yazıyorum ama fonksiyonda hata alıyorum.

    Databese bağlantı için kullandıığım kodda sorun yok başka dosyalarda çalışıyor.

    bir fonksiyon.php adında dosya oluşturdum ve içine yazdığım kod.

    <?php
    ob_start();
    session_start();
    
    function giriskontrol (){
    
    	$user_eposta = $_SESSION['user_eposta']; 
    	$user_onay = $_SESSION['user_onay'];
    	$user_aktifmi = $_SESSION['user_aktifmi'];
    	$user_id = $_SESSION['user_id'];
    
    	$uyesor = $db->prepare("select * from user where user_eposta=?");
    	$uyesor->execute(array($user_eposta));
    	$uyecek=$uyesor->fetch(PDO::FETCH_ASSOC);
    
    	if ($uyesor==0) {
    		header('location:giris.php');
    	} else {
    
    		header('location:index.php');
    	}
    
    }
    
    ?>
    Burda aldığım hata login olduktan sonra burda kontrolü sağlamıyor hata ise $db değişkeni tanımlanmıyor.

    Burda PDO kullanamazmıyım acaba neden bu hatayı alıyorum çözemedim.
  • 23-08-2017, 14:12:01
    #2
    $db değişkenini tanımladığın sayfayı include etmelisin
  • 23-08-2017, 14:14:51
    #3
    bağlantı var onla ilgili sorun yok test ettim bağlantı geliyor $db değişkeninin olduğu databese bağlantısı
  • 23-08-2017, 15:28:05
    #4
    Fonksiyon içinde

    GLOBAL $db;

    yazmalısın.

    ASUS_Z00LD cihazımdan Tapatalk kullanılarak gönderildi
  • 23-08-2017, 16:36:04
    #5
    yazdım onu ama bu sefer sonsuz döngüye atıyor sayfada Bu sayfa çalışmıyor

    localhost sizi çok fazla kez yönlendirdi.
    Çerezlerinizi temizlemeyi deneyin.
    ERR_TOO_MANY_REDIRECTS

    Bu şekilde hata veriyor
  • 23-08-2017, 16:39:35
    #6
    giriş.php veya index.php sayfasına yonlendiriyorsun, yonlendikten sonra tekrar aynı fonksiyonun çalışmaması lazim ki sonsuz döngüye girmesin.

    ASUS_Z00LD cihazımdan Tapatalk kullanılarak gönderildi
  • 23-08-2017, 16:57:48
    #7
    Peki bunu nasıl sağlarım ?
  • 23-08-2017, 17:10:50
    #8
    if sorgusu ile koşula bağlı olarak çalıştırman lazım. Şunun gibi mesela.
    if ( $_SERVER['REQUEST_URI'] != 'index.php' AND $_SERVER['REQUEST_URI'] != 'giris.php' ) {
    
    	giriskontrol();
    
    }
  • 23-08-2017, 17:20:26
    #9
    Siz Giriş bilgilerini nasıl yapıyorsunuz fonksiyona yazmadanmı yapıyorsunuz acaba ? bende o şekilde yapayım.

    PDO Kullanmadan yaptığım fonksiyon çalıştı ama bu hep aynı hatayı veriyor.