首页 > 解决方案 > 表单输入和 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'];
}

标签: phparrays

解决方案


您可以使用一个会话变量来存储发布的数据。

因此,将您的代码稍微修改为以下内容:

<?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) 不知道有没有必要,但你不妨加个功能,检查新输入的号码是否与过去输入的号码相同,如果相同,就不要放入数组。


推荐阅读