[英]PHP $_POST Array Empty
我是編碼新手,在Mac上編碼有問題。
當我執行var_dump($ _ POST)時,答案是:array(0){}
這是代碼:
<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name=strip_tags($_POST["name"]);
$age=$_POST["age"]*1;
$_SESSION["name"] = $name;
$_SESSION["age"] = $age;
}
else {
$name = $_SESSION["name"];
$age = $_SESSION["age"];
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Session demonstration</title>
</head>
<body>
<h1>Session demonstration</h1>
<a href="session-2.php">Demo session</a><br>
<a href="session_destroy.php">Close session</a><br><br>
<form action="<?=$_SERVER["PHP_SELF"]?>"
method="post">
Your name is:
<input type="text" name="name" value="<?php echo $name?>"><br>
You are:
<input type="text" name="age" value="<?php echo $age?>"><br>
<input type="submit" value="Submit">
</form>
<?php
if ($name and $age) {
if ($name and $age) {
echo "<h1>Hello, $name</h1>";
echo "<h3>You are $age</h3>";
}
else {
print "<h3>Bye!</h3>";
}
}
?>
</body>
</html>
同時,當我按下提交按鈕時,它向我顯示:
注意:未定義的索引:第5行/ Applications / MAMP / htdocs / PHP_Course 2 / demo / mod2 / sessions / session-1.php中的名稱
注意:未定義的索引:第6行的/ Applications / MAMP / htdocs / PHP_Course 2 / demo / mod2 / sessions / session-1.php中的age
也許有人知道我該怎么辦。
真誠的
問題是您的會話變量沒有在一開始就設置好,並且您試圖在else塊上為$ name和$ age分配那些未分配的變量。 像這樣驗證您的作業。
<?php
session_start();
$name = $age = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = strip_tags($_POST["name"]);
$age = $_POST["age"] * 1;
$_SESSION["name"] = $name;
$_SESSION["age"] = $age;
} elseif (isset($_SESSION['name']) || isset($_SESSION['age'])) {
if (isset($_SESSION['name'])) {
$name = $_SESSION['name'];
}
if (isset($_SESSION['age'])) {
$age = $_SESSION['age'];
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Session demonstration</title>
</head>
<body>
<h1>Session demonstration</h1>
<a href="session-2.php">Demo session</a><br>
<a href="session_destroy.php">Close session</a><br><br>
<form action="<?= $_SERVER["PHP_SELF"] ?>" method="post">
Your name is:
<input type="text" name="name" value="<?php echo $name ?>"><br>
You are:
<input type="text" name="age" value="<?php echo $age ?>"><br>
<input type="submit" value="Submit">
</form>
<?php
if ($name and $age) {
echo "<h1>Hello, $name</h1>";
echo "<h3>You are $age</h3>";
} else {
print "<h3>Bye!</h3>";
}
?>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.