방금 세션 변수를 사용하기 시작했는데 몇 가지 문제가 있습니다.
양식 처리 스크립트의 변수를 다른 페이지로 다시 내보내려고하는데 현재 결과가 나오지 않습니다.
시작하기 전에이 질문을 포함한 다른 질문을 이미 확인했다고 말하겠습니다.
나는 첫 번째 답변 목록에서 모든 것을 확인했지만 여전히 아무것도 없습니다.
내가 얻는 유일한 오류는 다음과 같습니다.
알림 : 정의되지 않은 색인 : id
나는 페이지가 처음 시작될 때 ID가 무엇인지 알지 못하지만 오류를 제출 한 후에도 지속되기 때문이라고 가정합니다.
<?php
session_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<!DOCTYPE html>
<html>
<head>
<title>PHP Sessions</title>
</head>
<body>
<?php echo $_SESSION['id']; ?>
<form action="submit.php" method="post">
<input type="text" name="number" id="number">
<button type="submit">Submit</button>
</form>
</body>
</html>
<?php
session_start();
try {
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$id = $_POST['number'];
};
header('Location: http://home.com/');
exit();
} catch (Exception $e) {
echo $e->getMessage();
}
?>
내 의견에서 언급했듯이 아무것도 할당하지 않았기 때문에 해당 알림을 받게됩니다. 따라서을 사용하는 조건문을 사용하십시오 isset()
.
if(isset($_SESSION['id'])) {
echo "The session is set.";
} else{
echo "Sorry, it's not set.";
}
또는
if(isset($_SESSION['id'])) {
echo "The session is set.";
}
else{
$_SESSION['id'] = "ID123";
}
초기 페이지에서 삼항 연산자 (참조 노트 참조)를 사용하여 설정 여부를 에코 할 수 있습니다.
<?php
session_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<!DOCTYPE html>
<html>
<head>
<title>PHP Sessions</title>
</head>
<body>
<?php echo isset($_SESSION["id"]) ? $_SESSION["id"] : '' ?>
<form action="submit.php" method="post">
<input type="text" name="number" id="number">
<button type="submit">Submit</button>
</form>
</body>
</html>
사이드 노트 : 나는이 줄을 주석 처리했고, 다시 넣을 때 주석 echo $id;
; 그렇지 않으면 알림이 표시됩니다.
// header('Location: http://home.com/');
// exit();
submit.php 및 !empty()
POST 배열에 대한 조건 을 사용합니다 .
<?php
session_start();
try {
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if(!empty($_POST['number'])){
$_SESSION['id'] = $_POST['number'];
// $id = $_POST['number'];
$id = $_SESSION['id'];
echo $id;
}
};
// header('Location: http://home.com/');
// exit();
} catch (Exception $e) {
echo $e->getMessage();
}
?>
''
의 끝에 isset($_SESSION["id"]) ? $_SESSION["id"] : ''
원하는 경우 기본 텍스트 / 숫자를 넣어 사용할 수 있습니다.
즉 :
isset($_SESSION["id"]) ? $_SESSION["id"] : 'default value'
참조 :
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다