PHP Giriş Sistemi sorun ...

4 Cevap php

Ben bir web sitesinin her sayfasında bir giriş formu var ve bu yüzden kullanıcı her yerden giriş yapabilirsiniz. Ben ('eylem' kullanarak) formundan ona bakın bir login.php dosyası var.

I $_SERVER['HTTP_REFERER'] o kapattığında o başarıyla oturum veya ne zaman giriş yapmış aynı sayfaya kullanıcıyı yönlendirmek için kullanın.

Giriş bir sorun varsa ama, nasıl bir hata aynı sayfaya gönderebilirsiniz o oturum için çalışıyor? Ben bu gibi $_GET kullanarak hata gönderme denedim:

// process the script only if the form has been submitted
if (array_key_exists('login', $_POST)) {
    // Login code goes here...

	// If there was a problem, destroy the session and prepare error message
	else {
	$_SESSION = array();
	session_destroy();
	header('Location: '.$_SERVER['HTTP_REFERER'].'?error');
	exit;
}

Ama sorun web sayfalarının çok bu gibi olmasıdır details.php?mid=0172495. Zaten $_GET yöntemi ve ben başka bir $_GET yöntemini cant kullanmak, güvenlik nedenleriyle bilgi tarifesi ...

So, How can I pass the error??? Thanks...

4 Cevap

Chad Birch söylediklerini eklemek için ...

Eğer yönlendirme oturum açma komut dosyası, karakter için HTTP_REFERER değerini kontrol '?'. Eğer mevcutsa, http_referer için '& hatası' eklemek ve yönlendirme. Aksi http_referer için? 'Hatası' eklemek ve yönlendirme.

Zaten oturumları kullanıyorsanız bu yana, siz oturumu yok ettikten sonra neden $ _SESSION ['error'] veya benzer bir şey set ile yeni bir tane oluşturmak değil mi? Veya alternatif olarak sadece tüm ama hemen diğer sayfalarda kontrol edebilirsiniz hatayı ayarlanmış en oturumu silmek değil mi?

Ben, ancak durumda sorgu dizesinde zaten bir şey var ki, sadece bunun için başka bir değişkeni eklemek gerekiyor "Ben başka bir $_GET yöntemini cant kullanmak güvenlik nedenleriyle" ile tam olarak ne demek emin değilim , bunun yerine yerine.

Adresiniz olsaydı sadece details.php, sen {[onları gönderebilir oysa details.php?mid=0172495, sen (details.php?mid=0172495&error göndererek olmalıdır gibi Yani, eğer 3)]}.

Ne gerek yapmanın başka bir yolu giriş formu olan her sayfanızda login.php dosyası içerir ve sadece aynı sayfaya göndermektir. Yani hiç bir yönlendirmeyi gerekmez.

Bu belki iyi bir ölçeklenebilir ve sürdürülebilir bir çözüm değil, ama basit. Tüm Yazdığınız uygulamanın ne tür bağlıdır. Ama sen böyle başlayabilirsiniz böylece php için yeni olduğunu söylüyor. Daha sonra istediğiniz zaman fantezi gidebilirsiniz ...