【发布时间】:2014-08-23 12:48:20
【问题描述】:
我试图在 3 个不同的数组中存储和显示来自表单的会话数据,每次提交表单时都会更新数组。第一次提交表单时,数组数据会正确显示,但此后每次似乎都重新创建了它,而不是将新值推送到数组中。
我相信每次提交表单时都会重新创建数组,但我不知道如何防止这种情况。新手程序员在这里,非常感谢任何帮助。
<!DOCTYPE HTML>
<?php session_start(); ?>
<html>
<head>
<title> Populating Arrays from User </title>
</head>
<body>
<?php
// Create the three arrays
$teamsports = $solosports = $favteam = array();
// Create variables to hold each value
$team = $solo = $country = "";
?>
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Team Sport: <input type="text" name="team"><br><br>
Solo Sport: <input type="text" name="solo"><br><br>
Fav Team: <select name="country">
<option value="Canada">Canada</option>
<option value="Canada">USA</option>
<option value="England">England</option>
<option value="Germany">Germany</option>
</select><br><br>
<input type="submit" name="submit" value="Click to submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$_SESSION["team"] = $_POST["team"];
$_SESSION["solo"] = $_POST["solo"];
$_SESSION["country"] = $_POST["country"];
array_push($teamsports, $_SESSION["team"]);
array_push($solosports, $_SESSION["solo"]);
array_push($favteam, $_SESSION["country"]);
}
?>
<h2> Results </h2><br>
Team Sports:<?php foreach ($teamsports as $value) {echo $value;}?><br><br>
Solo Sports:<?php foreach ($solosports as $value) {echo $value;}?><br><br>
Fav Teams:<?php foreach ($favteam as $value) {echo $value;}?><br><br>
</body>
</html>
【问题讨论】: