• 10-12-2019, 08:15:18
    #1
    fonksiyonlar.php sayfam şu şekilde
    <?php
    ob_start();
    session_start();
    include 'veritabani.php';
    
    if ( isset( $_POST[ 'girisYap' ] ) )
    {
    $kullaniciadi = htmlspecialchars( trim( $_POST[ 'kullaniciadi' ] ) );
    $sifre = htmlspecialchars( trim( md5( $_POST[ 'sifre' ] ) ) );
    
    if ( $kullaniciadi && $sifre )
    {
    $kullanicisor = $db->prepare( "SELECT * from uyeler where kullaniciadi=:kullaniciadi and sifre=:sifre" );
    $kullanicisor->execute(
    array(
    ':kullaniciadi' => $kullaniciadi,
    ':sifre' => $sifre,
    )
    );
    
    $say = $kullanicisor->rowCount();
    
    if ( $say > 0 )
    {
    $_SESSION[ 'kullaniciadi' ] = $kullaniciadi;
    header( 'Location:./profilim.php' );
    }
    else
    {
    
    header( 'Location:./index.php?status=no' );
    }
    }
    }
    doğru kullanıcı bilgileriyle giriş yapıp profil sayfama yönlendiriyorum fakat sadece ilk veriyle ilgili çekiyor yani ben hangi üyeyle giriş yapsam ilk verideki bilgileri listeliyor.

    buda profil.php sayfam

    <?php
    ob_start();
    session_start();
    include 'veritabani.php';
    if (isset($_SESSION['kullaniciadi'])) {
    } else { header("Location:index.php");}
    $uye=$db->prepare("SELECT * from uyeler where uyeID=?");
    $uye->execute(array(0));
    $cek=$uye->fetch(PDO::FETCH_ASSOC);
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    
        <title><?php echo $cek['adi'] ?></title>
  • 10-12-2019, 08:25:13
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ':kullaniciadi' => $kullanici_adi,
    ':sifre' => $kullanici_pass,
    fonksiyonlar sayfanda iki nokta üstüsteyi atlamışsın.
    login başarılıysa sessionda user_id gibi bir variable tutup,
    SELECT * from uyeler where id = $_SESSION['user_id'] gibi de giriş yapmış kullanıcıyı çekebilirsin.
  • 10-12-2019, 08:46:36
    #3
    Potanski adlı üyeden alıntı: mesajı görüntüle
    ':kullaniciadi' => $kullanici_adi,
    ':sifre' => $kullanici_pass,
    fonksiyonlar sayfanda iki nokta üstüsteyi atlamışsın.
    login başarılıysa sessionda user_id gibi bir variable tutup,
    SELECT * from uyeler where id = $_SESSION['user_id'] gibi de giriş yapmış kullanıcıyı çekebilirsin.

    olmadı
  • 10-12-2019, 09:49:58
    #4
    chemochan adlı üyeden alıntı: mesajı görüntüle
    fonksiyonlar.php sayfam şu şekilde
    <?php
    ob_start();
    session_start();
    include 'veritabani.php';
    
    if ( isset( $_POST[ 'girisYap' ] ) )
    {
    $kullaniciadi = htmlspecialchars( trim( $_POST[ 'kullaniciadi' ] ) );
    $sifre = htmlspecialchars( trim( md5( $_POST[ 'sifre' ] ) ) );
    
    if ( $kullaniciadi && $sifre )
    {
    $kullanicisor = $db->prepare( "SELECT * from uyeler where kullaniciadi=:kullaniciadi and sifre=:sifre" );
    $kullanicisor->execute(
    array(
    ':kullaniciadi' => $kullaniciadi,
    ':sifre' => $sifre,
    )
    );
    
    $say = $kullanicisor->rowCount();
    
    if ( $say > 0 )
    {
    $_SESSION[ 'kullaniciadi' ] = $kullaniciadi;
    header( 'Location:./profilim.php' );
    }
    else
    {
    
    header( 'Location:./index.php?status=no' );
    }
    }
    }
    doğru kullanıcı bilgileriyle giriş yapıp profil sayfama yönlendiriyorum fakat sadece ilk veriyle ilgili çekiyor yani ben hangi üyeyle giriş yapsam ilk verideki bilgileri listeliyor.

    buda profil.php sayfam

    <?php
    ob_start();
    session_start();
    include 'veritabani.php';
    if (isset($_SESSION['kullaniciadi'])) {
    } else { header("Location:index.php");}
    $uye=$db->prepare("SELECT * from uyeler where uyeID=?");
    $uye->execute(array(0));
    $cek=$uye->fetch(PDO::FETCH_ASSOC);
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    
        <title><?php echo $cek['adi'] ?></title>
    Array in içerisinde 0 var onun yerine $_SESSION[‘id’] yazıp dener misiniz ?
  • 10-12-2019, 10:01:39
    #5
    scriptarisi adlı üyeden alıntı: mesajı görüntüle
    Array in içerisinde 0 var onun yerine $_SESSION[‘id’] yazıp dener misiniz ?


    array 0 olduğu için veri göstermiyormuş hocam 1 veya 2 yaptığımda veritabanındaki idye göre listeliyor fakat sizin dediğiniz şekilde yazdığımda da yine hiçbir veriyi çekmiyor.

    sorunu çözemedim hocam
  • 10-12-2019, 10:16:26
    #6
    chemochan adlı üyeden alıntı: mesajı görüntüle
    array 0 olduğu için veri göstermiyormuş hocam 1 veya 2 yaptığımda veritabanındaki idye göre listeliyor fakat sizin dediğiniz şekilde yazdığımda da yine hiçbir veriyi çekmiyor.
    hocam id adında session yok galiba sizde o halde profil.php dosyasındaki sorguyu kullanıcı adına göre yapın arrayin içerisine de $_SESSION[‘kullaniciadi’] şeklinde yaparsanız giriş yapan kullanıcının profil bilgileri gösterilecektir.
  • 10-12-2019, 10:18:50
    #7
    Fonksiyonlar.php de bunun altına $_SESSION['kullaniciadi'] = $kullaniciadi;

    $data = $kullanicisor->fetch(PDO::FETCH_ASSOC);
    $_SESSION['kullaniciid'] = $data["id"];
    bu kodları ekle.

    Profil.php de ise bu satırı $uye->execute(array(0));

    $uye->execute(array($_SESSION['kullaniciid']));
    olarak değiştir. Arkadaşlarda bunu kastetmişler zaten.
  • 10-12-2019, 10:27:50
    #8
    scriptarisi adlı üyeden alıntı: mesajı görüntüle
    hocam id adında session yok galiba sizde o halde profil.php dosyasındaki sorguyu kullanıcı adına göre yapın arrayin içerisine de $_SESSION[‘kullaniciadi’] şeklinde yaparsanız giriş yapan kullanıcının profil bilgileri gösterilecektir.

    hocam aslında idde eklemiştim sessiona fakat ben yapamadım o yüzden direk dediğiniz şekilde kullanıcıadi ile çektirdiğimde veriler doğru şekilde geliyor şuan çok sağolasın.
  • 10-12-2019, 10:35:42
    #9
    chemochan adlı üyeden alıntı: mesajı görüntüle
    hocam aslında idde eklemiştim sessiona fakat ben yapamadım o yüzden direk dediğiniz şekilde kullanıcıadi ile çektirdiğimde veriler doğru şekilde geliyor şuan çok sağolasın.
    Kolay gelsin hocam 😊