'name'및 '$ _SESSION 만 사용하여 전자 메일 ($ _COOKIE를 사용하지 않음)을 사용하여 저장 한 변수를 표시하려면 어떻게해야합니까?
$ _COOKIE를 사용하여 작동하지만 실제로 잘 설계되지 않은이 프로그램을 만들었습니다. 나는 단지 배우는 중이다. 하지만 $ _COOKIE 대신 $ _SESSION을 사용하여 데이터를 수집하는 양식을 변환하려고합니다. 내가 한 모든 것은 $ _COOKIE를 $ _SESSION (덜 setcookie 등)으로 대체했습니다. 내 목표는 '기억하기'를 클릭하면 '이름'과 '이메일'을 기억하므로 브라우저를 다시 열 때 '링크'를 직접 클릭하여 다운로드 할 수 있습니다.
<?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>
세션은 일반적으로 일시적이므로 쿠키를 사용하면 만료 날짜를 먼 미래로 설정할 수 있습니다. – Barmar
무엇이 문제입니까? –
@Barmar $ _SESSION과 $ _COOKIE는 클라이언트쪽에 저장된 데이터 만 전자의 "토큰"이지만 후자는 수집되는 변수의 실제 내용입니다 (예 : $ _COOKIE [ 'name'] = "john "이 클라이언트의 브라우저에 저장 됨). – mythoslife