【发布时间】:2015-05-31 21:11:13
【问题描述】:
我正在编写一个 php 脚本,我必须创建一个包含 2 个输入字段的表单,其中包含一个名称和 ID。当我输入名称和 ID 时,它们将存储在关联数组中。只要 id 小于或等于 100,名称和 id 就会存储在关联数组中。当输入大于 100 的 id 时,php 脚本会显示之前输入的名称,并显示它们对应的 id。但是,当我输入名称和 Id 时,只显示一个名称和一个 Id,并且当前的名称和 Id 被替换。我希望在输入大于 100 的 ID 时显示名称和 ID 列表,而不管输入的名称如何。 请参阅下面的代码:
<?php
$id = 100;
if(isset($_POST['lname']) && isset($_POST['id'])) {
$name = $_POST['lname'];
$ids = $_POST['id'];
while($GLOBALS['id'] <= 100) {
$lists = array($name => $ids);
foreach($lists as $key => $val) {
echo $key . ' ' . $val . '<br>';
}
}
}
?>
<form action = "index.php" method = "POST">
Name:<br>
<input type = "text" name = "lname"><br><br>
Marks:<br>
<input type = "text" name = "id"><br><br>
<input type = "submit" value = "Submit">
</form>
【问题讨论】:
-
如果你想在对服务器的请求之间维护数据,那么你需要将它存储在持久性的地方,比如会话、文件或数据库
-
数组在这种情况下不起作用?就像只要 Id 不大于 100,名称和 Id 都存储在关联数组中。当输入大于 100 的 Id 时,所有以前输入的名称和 Id 都会显示在浏览器上。
-
一个数组不是持久的:是的,你会想要一个数组,但是你需要在请求之间的某个地方存储这个数组...... session 是存储它的明显地方
-
关于如何进行的任何提示?
标签: php html arrays session associative-array