我該如何顯示只顯示保存在'name'和'email中的變量使用$ _SESSION(意味着不使用$ _COOKIE)?
我創建了使用$ _COOKIE工作的程序,但是(我知道)它的設計不是很好。我只是在學習。但我試圖轉換一個表單收集數據使用$ _SESSION而不是$ _COOKIE。我所做的只是用$ _SESSION(更少的setcookie等)替換$ _COOKIE。我的目標是,如果你點擊「記住我」,它會記住你的'姓名'和'電子郵件',這樣你就可以直接點擊「鏈接」重新打開瀏覽器下載內容。
<?php
session_start();
// session
if (isset($_POST['remember'])) {
$customer_name = $_SESSION['name'];
if (!($customer_name)) {
$customer_name = $_POST['name'];
}
$customer_email = $_SESSION['email'];
if (!($customer_email)) {
$customer_email = $_POST['email'];
}
//If Form submitted
//I.e. Email validation that will check if field is empty or doesn't
//If there is no error
echo 'Here's the <a href="http://www.google.com/something">link.<br />';
//else there's error
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Name:
<?php
if (isset($_SESSION['name'])) {
echo $_SESSION['name']."<br />";
}
else {
?>
<input type="text" name="name" value="<?php echo $_POST['name']; ?>" size="25" /><br />
<?php } ?>
Email:
<?php
if (isset($_SESSION['email'])) {
echo $_SESSION['email']."<br /><br />";
}
else {
?>
<input type="text" name="email" value="<?php echo $_POST['email']; ?>" size="25"/>
<input type="checkbox" name="remember" /> Remember me
<input type="submit" name="Submit" />
<?php } ?>
</form>
會話通常是臨時的,cookies允許您設置遠期到期的日期。 – Barmar
什麼問題? –
@Barmar $ _SESSION和$ _COOKIE是一樣的,只有在客戶端保存的數據是前者的「標記」,但後者是被收集變量的實際內容(即$ _COOKIE ['name'] =「john 「這是保存在客戶端的瀏覽器)。 – mythoslife