Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
549
Tıklama
0
Öne Çıkarma
SESSION SORUNU
Y
11 yıl
Onbaşı
Konu Sahibi

Merhaba arkadaşlar iyi akşamlar. Benim bir projem var bir sorunla karşılaştım, yardımcı olursanız çok sevinirim. Şöyle anlatayim;

< Resime gitmek için tıklayın >

ilk resimde gördüğünüz gibi benim bir session'ım var. Eğer 0'dan büyükse, yani veri varsa oturumu açıyor. Eğer yoksa da "kullanıcı adı veya şifreniz hatalı" diye uyarı çıkarıyor. (Uyarı resim halindedir)

Şimdi buraya kadar bir şey yok gibi gözüküyor. Fakat şöyle bir şey var. Benim bir de misafir girişim var. Onu da şöyle yaptım;

< Resime gitmek için tıklayın >

Onu da resim 2 de görebileceğiniz gibi " if(isset($_SESSION['oturum'])) { " diye başlattım bu sayfada olmasını istediklerimi yazdım.
Sorun şu ki, ben misafir sayfasına girdiğimde her ne kadar sayfa düzgün çalışsa da, üst kısımlarda "kullanıcı adı veya şifreniz hatalı" adlı hatayı tekrar alıyorum. Çünkü yukarıdaki kodlarda yazdıklarıma göre giriş varsa index.php'ye gönderecek, yoksa uyarı verecek. Ben bunu nasıl halledebilirim? Misafir sayfasında ""kullanıcı adı veya şifreniz hatalı" yazısını görmek istemiyorum. Çünkü misafir yalnızca bir butonla giriyor ve ona hiç birşey sorulmuyor.



E
11 yıl
Onbaşı

Dostum ben bir hayli acemiyim sadece bir fikir olsun diye birşeyler söylemek istedim ; (Yanlış ve saçmada olabilir,kusuruma bakma o yüzden)

index oturumunda girilen şifre ve kullanıcı adı ile aynı özelliklere sahip satırı veritabanından çekerek oturum bilgisinde kullanıyorsun ancak misafir oturumunda gelen herhangi bir bilgi olmadığı için,yani index.php sayfan veritabanından bir sorgu karşılığı alamadığı için hata veriyor.

belki misafir oturumun için misafir butonu ekleyerek ve altınada hidden ile daha önce veritabanına kaydettiğin bir isim ve şifreyi post edersen,index php veritabanından bu isim ve şifreyi alacak hata vermeyecektir.
diye düşündüm lakin sanki öyle mi ki ya ? Bilemedim,dostum..ben bu acemiliğimle anca bu kadar diyebildim



B
11 yıl
Çavuş

1. resimdeki if($_POST) u if(isset($_POST["buttonadi"])) şeklinde değiştirip dener misin? buttonadi yerine de formundaki buttonun adını yaz.




Bu mesajda bahsedilenler: @yamidost
M
11 yıl
Yarbay

Php ci degilim, javaciyim aslinda ama soyle bir fikir verebilirim.
Sitene giren herkes icin session da data olustur. Login olan kisi icin isLogin gibi bir parametre, misafir icin de isGuest gibi bir deger true olsun. Misafir sayfasina girenler icin isGuest true, IsLogin false olacak.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
Y
11 yıl
Onbaşı
Konu Sahibi

Hepinize çok teşekkür ederim, yanıtı buldum. Sizinle de paylaşiyim, lazım olur belki...
Aslında çok da kolaymış :) Bazen insanın aklına gelmiyor ama :D

if($say >0){
$goster = mysql_fetch_array($bul);
$_SESSION["oturum"] = true;
$_SESSION["UyeAdi"] = $UyeAdi;
$_SESSION["rutbe"] = $goster["rutbe"];
$_SESSION["id"] = $goster["id"];

header("Location:index.php");

else if($_POST['misafir']) {

header("Location:misafir.php");
}

else{
echo 'kullanıcı adı veya parola hatalı';
}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.