php - 表单输入和 PHP
问题描述
在我的编码方面需要一点帮助。我正在开发一个项目,它将接受 5 个不同的数字并将它们插入到 PHP 数组中。我尝试过的代码写在下面。他们两个都会使我数组的所有 5 个内容都成为相同的数字,请多多帮助?从未在 PHP 中处理过数组。
<form action="activity_1.php" method="post">
<input type="text" name="number">
<input type="submit" value="Submit" name="submit">
</form>
到目前为止,这些是我尝试过的:
$no = array();
for($i=1; $i<=5; $i++){
array_push($no, $_POST['number']);
}
还
$no = array();
for($i=1; $i<=5; $i++){
//$no[$i]= $_POST['number'];
}
解决方案
您可以使用一个会话变量来存储发布的数据。
因此,将您的代码稍微修改为以下内容:
<?php session_start(); ?>
<form action="#" method="post">
<input type="text" name="number">
<input type="submit" value="Submit" name="submit">
</form>
<?php
if ( !isset($_SESSION["no"]) ) {
$_SESSION["no"]=array();
}
if (isset($_POST["number"])){
array_push($_SESSION["no"], $_POST['number']);
}
for($i=0; $i<5; $i++){
if (isset($_SESSION["no"][$i])) {
if ($_SESSION["no"][$i]!="") {
echo " Number you entered was: " .$_SESSION["no"][$i] . "<br>";
}
}
}
?>
在我看来,代码可以进一步修改,以便
a) 你应该有一个按钮来“清除”所有以前输入的号码;
b) 不知道有没有必要,但你不妨加个功能,检查新输入的号码是否与过去输入的号码相同,如果相同,就不要放入数组。
推荐阅读
- java - 我无法在 Android Studio 中为我的应用设置图标
- hyperledger-fabric - Hyperledger Fabric 如何执行 ACL?
- mysql - 使用 MySQL 查询的结果作为 next 的 WHERE 子句
- json - 尝试使用 nuxt js 检查属性是否存在
- java - Thymeleaf 多文件输入在未选择任何内容时发送空文件
- visual-studio-2017 - 在 Visual Studio 2017 中是否有用于切换垂直拆分编辑器窗口的子窗格的命令/热键?
- twitter-bootstrap - Bootstrap navbar-toggle 带有标签的汉堡图标
- python-3.6 - numpy argsort 产生类型错误:只有整数标量数组可以转换为标量索引
- sql-server - Query Store 站在哪里,它在哪里存储执行计划、运行时统计信息?
- python - Pandas:如果字符串列表中不存在字符串,则将其替换为“其他”