Php başlığı üzerinden argümanları iletme

5 Cevap php

Benimle 3 dosya var.

login.html
login_check.php
welcome.php

login.html içinde kullanıcı adı ve şifre girdi ve düğme adı giriş $_POST['username'] temelinde ve bazı SQL veritabanında olup olmadığını login_check.php kontroller tıklandığında teslim edildiğinde querry. Şimdi login_check.php altındaki aşağıdaki kodu koyduk

login_check.php

header('Location:welcome.php')

Ama ben karşılama sayfasında $ _POST ['username'] yararlanabilir böylece welcome.php için login_check.php dan $ _POST ['username'] geçmek istiyorum. Ben yukarıdaki durumda gibi bir argüman hangi bir yolu var mı?

5 Cevap

Olursa olsun hoşgeldin sayfasına arazi hangi sayfa karşılama sayfasında kullanıcının adı her gösteren olacağını session yerine çünkü kullanın.

Sen gibi login_check sayfada oturumu ayarlayabilirsiniz:

session_start(); // this should be on top of login_check file

// this goes just before redirect line
$_SESSION['username'] = $_POST['username'];

Şimdi karşılama sayfasında, sizin gibi adını gösterebilir:

session_start(); // this should be on top of welcome page.
echo `Welcome ` . $_SESSION['username'];

"(wwww.xxx.com?action='') bir oturum olarak kaydetmeden aktarmak için tek yol olacaktır başlık kullanarak"

yeterli olacaktır

Bu (? Bunu daha önce de gördük eminim - bu 's ve &' ın adres çubuğuna) QUERY_STRING kullanılarak yapılabilir, ama sadece güvensiz olduğu gibi bunu yapmamalısınız.

A session, genel olarak giriş ve yetkilendirme sonra bir kullanıcı adı depolamak için yaygın bir yoldur.

Oturum only oturum verisi için kullanılmalıdır - değil veri belirli bir sayfa geçiş ilişkin için. Ancak kullanıcının kimlik doğrulaması olmuştur gerçeğini kayıt ve doğrulanmış hangi ile kullanıcı adı oturum veridir.

Eğer doğrulama başarılı ise, o zaman o oturumda doğrulanmış adı saklamak gerekir, login_check.php yılında, login_check.php için login.php bilgi geçmek için oturum verileri kullanmak gerekir iken.

Iken, Albay şarapnel dediği gibi bunu yapabilirsiniz:

header('Location:welcome.php?username=' . urlencode($_POST['username']));

Bu aşmak için Önemsiz -? Sadece güvenlik kırmak için tarayıcınıza username = admini welcome.php yazmanız gerekir.

Hala net değilse, (yani aynı oturum verilerini kullanarak) sitenin farklı yerlerinde gezinirken, kullanıcı aynı anda açık iki tarayıcı pencerelerini olan durumu düşünün. Her iki tarayıcı oturumunda yazılır aynı anda veri göndermek ve sonucu emin değilseniz, o zaman muhtemelen oturumda veri tutmak olmamalıdır.

HTH

C.

Header (www.xxx.com?action ='') kullanarak bir oturum olarak depolayarak olmadan aktarmak için tek yol olacaktır.