lostyazilim
tr.link

Session ile ilgili bir sorun

8 Mesajlar 857 Okunma
acebozum
tr.link

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Merhaba altta gördüğünüz gibi bir giris.php'im var.
index.php den gelen myusername ve mypassword form elemanlarını giris.php ye alarak. Admin girişi yapıyorum. Admin bilgileri veritabanında saklanmakta. Giriş yapmam da bir sıkıntı yok. Fakat; yönlenen sayfada session ile kullanıcı adını yazamıyorum.

giris.php



$kullanici = htmlentities(mysql_real_escape_string($_POST['myusername']));
$sifre = htmlentities(mysql_real_escape_string($_POST['mypassword']));

if(empty($kullanici) || empty($sifre)){
echo 'Lütfen tüm alanları doldurunuz.';

}else{
$kullanici_sor = mysql_query("SELECT * FROM yonetici WHERE kadi='$kullanici' && sifre='$sifre'") or die (mysql_error());
$say = mysql_num_rows($kullanici_sor);
if ($say > 0){

$admin = mysql_fetch_array($kullanici_sor);
$yetkili = $admin['yetki'];

if (($kullanici == $admin['kadi']) and ($sifre == $admin['sifre']))
{
$_SESSION["giris"] = true;
$_SESSION["kullanici"] = $admin["kadi"];
$_SESSION["sifrem"] = $admin["sifre"];
$_SESSION["yetkim"] = $admin["yetki"];
if ($yetkili==3) {
header("Location: admin.php");
} else {
header("Location: webmaster.php");
exit;
}
}
}
}
?>


Kullanıcı adını yönlendirmeleri iptal edip giris.php sayfasına yazdırmaya çalıştım fakat o da boş döngü döndürdü. Yani Sessionlar boş kalıyor sanırım. Uğraştım ama çözemedim. Yardımcı olursanız sevinirim.

if ($yetkili==3) {
header("Location: admin.php");
} else {
header("Location: webmaster.php");
exit;
}


Bu bölümü aşağıdaki şekilde değiştirdim kontrol amaçlı fakat bilgileri boş döndürdü.

if ($yetkili==3) {
echo 'Kullanıcı Adı: '.$SESSION["kullanici"];
echo 'Sifre: '.$SESSION["sifrem"];
echo 'Yetki: '.$SESSION["yetkim"];
// header("Location: admin.php");
} else {
echo 'Kullanıcı Adı: '.$SESSION["kullanici"];
echo 'Sifre: '.$SESSION["sifrem"];
echo 'Yetki: '.$SESSION["yetkim"];
// header("Location: webmaster.php");
exit;
}
 

 

elektronikssl
webimgo

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)
index.php de

$_SESSION['Kullanici'] = $DbDenGelenID;
ve
giris.php de
$GeldiID = $_SESSION['Kullanici'];

index ve giris.php de session_start yapmayı unutmayınız.
 

 

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)

FurkanKandemir adlı üyeden alıntı

index.php de

$_SESSION['Kullanici'] = $DbDenGelenID;
ve
giris.php de
$GeldiID = $_SESSION['Kullanici'];

index ve giris.php de session_start yapmayı unutmayınız.


Index.php de
$DbdenGelenID yi nasıl bir değişken ile alacağım? Yeni bir tablo bağlantısımı yapmalıyım?

Açıkcası tam anlayamadım usta.
 

 

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)
$DbdenGelenID sizin db'den çektiğiniz kullanıcı id'sini temsil ediyor :)

$_SESSION["kullanici"] = $admin["kadi"];

Şu satırı şöyle deneyiniz;
$Kadi= $admin["kadi"];
$_SESSION["kullanici"]=$Kadi;

giris php de ise

$YazdirKadi= $_SESSION["kullanici"];

echo $YazdirKadi; ve ya alert ile ekrana uyarı verdiriniz.
 

 

wmaraci
wmaraci

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Tamamdır kullanıcı adı yazıyor şimdi. Fakat eski sessionlar kaldı sanırım başka bir kullanıcı adı gözüküyor. Bunu çıkış yapıldığında tamamen nasıl silerim?

cikis.php


session_start();
$_SESSION = array();
session_destroy();

echo"";
echo"
";
echo"
Cikis yaptiniz, Lutfen bekleyin...
";
header("refresh: 2; url=index.php");


?>
 

 

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)
Böyle yaparsanız tabi ki olmaz :) $SESSION["kullanici"]=$Kadi; burda ki kullanım amacı değişkeni session'a atmak.
Daha sonra da istediğimiz her hangi bir sayfada
$YazdirKadi= $_SESSION["kullanici"]; bu kodu yazarak sessiondaki bilgiyi değişkene atıyoruz.

Ve kullanmak istedğimizde değişkenin kendisini kullancaz yani
Hoşgeldin
 

 

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Tamam dediğinizi anladım ve olayı çözdüm. Teşekkür ederim yardımlarınız için. Öğrene öğrene gidiyorum.
 

 

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)

Exor adlı üyeden alıntı

Tamam dediğinizi anladım ve olayı çözdüm. Teşekkür ederim yardımlarınız için. Öğrene öğrene gidiyorum.


Yardımcı olabildiysem ne mutlu bana.
Diğer çalışmalarınızda da başarılar dilerim.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)