POST arıyor ve değişkenleri GET ediyoruz, HTML form yöntem parametre bitti:
login.php
<form name="myform" action="secondpage.php" method="post">
<div>Username: <input type="text" name="username" value="" /></div>
<div>Password: <input type="password" name="password" value="" /></div>
</form>
Daha sonra bu diğer sayfada:
secondpage.php
$username = isset($_POST['username']) ? $_POST['username'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';
if ($username != '') {
// do your validations here
}
Explanation
Eğer GET yöntemini kullandığınızda, parametreleri URL görünür, o yüzden biz = login.php in "GET", sen = secondpage.php? Username = jsmith ve şifre gibi bir şey ile 1234 bitireceğiz yöntemini değiştirmek diyelim . Ve sonra $_GET['username']
kullanarak değerlerini alabilir.
POST kullanarak mümkün (bir vague limit bir URL boyutu vardır) büyük veri miktarını göndermek için yapar ve URL görünür değil. Gerçi o it's still sent in clear text dikkat etmelisiniz, bu yüzden güvenli demek değildir.
POST ve GET farklı amaçlar için yapılmıştır. Bu çok anlık sizi ileride tekrar ayıklamak istiyor olabilir bilgileri, özel olmayan bilgileri ayıklamak için kullanımı olmalıdır GET. Bu potansiyel bir arkadaşınıza bu URL'yi göndermek isteyeceksiniz çünkü = 123 mypage.php? Ürün olması yararlıdır. Eğer veri durumunu değiştirmek olacak zaman bir POST kullanılmalıdır: böylece, bir ürün güncellenmesi yeni bir kullanıcı oluşturma, bir makale silme ve. Bu kez gerçekleşmesi istediğiniz bir şey.
Structure
Sonuç olarak, ben sadece normalde mutlaka sadece çalıştırmak veya değil, bazı kod önlemek için başka bir PHP komut dosyası kullanmak istemem eklemek istiyorum. Yani projenin özelliklerini bilmeden, ben yine de muhtemelen (örneğin formun HTML gibi) aynı kodundan yararlanmak için böyle bir şey yapmak istersiniz söyleyebiliriz.
Bu kod basitleştirilmiş unutmayınız.
login.php
<?php
$error = false;
$username = isset($_POST['username']) ? $_POST['username'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';
// if, and only if something was posted... so not on first display
if ($username != '') {
// do your validations here
if ($properlyLogged) {
session_start();
$_SESSION['loggedAt'] = time();
header('Location: http://localhost/secondpage.php');
exit();
} else {
$error = true;
}
}
?>
<?php if($error): ?>Login failed. Please try again.<?php endif; ?>
<form name="myform" action="login.php" method="post">
<div>Username: <input type="text" name="username" value="<?php echo($username) ?>" /></div>
<div>Password: <input type="password" name="password" value="" /></div>
</form>
secondpage.php
<?php
session_start();
if (!isset($_SESSION['loggedAt'])) {
// if not properly logged in, return user to login
header('Location: http://localhost/login.php');
exit();
}
?>
You are now logged in!
Eğer bu sizin için ne aradığını umut!