gpt4 book ai didi

php - 使用单个文本框在发布后继续向数组添加值

转载 作者:行者123 更新时间:2023-12-04 18:02:05 25 4
gpt4 key购买 nike

所以我目前正在做一个小项目,允许用户在文本框中输入一个数字,在单击一个显示“添加”的按钮后,它应该将该值存储到一个数组中,然后允许用户输入另一个值到该数组。当用户完成并想要对值求和时,页面上还有一个按钮,称为“提交”。我遇到的问题是每次表单回发时,它都会重新创建一个新的空白数组。有什么建议吗?

请看下面的代码:

<html>
<head>
</head>
<body>
<h2>Please Select your title and name:</h2>
<form action='<?php echo $_SERVER["PHP_SELF"]; ?>' method='post'>
<p>
<label for="strFirstname">Type number to add: </label>
<input type='text' name='strNumber' id='strNumber'/>
</p>
<p>
<input type='submit' name='submit' value='Add' />
</p>
<p>
<input type='submit' name='calculate' value='Compute' />
</p>
<?php

$array = array();

if (isset($_POST['submit']))
$num = $_POST['strNumber'];
$array[] = $num;
foreach($array as $num)
echo $num . ' + ';

if(isset($_POST['calculate']))
foreach($array as $num)
echo $num . ' + ';
?>
</form>
</body>
</html>

最佳答案

<?php
session_start();
?>
<html>
<head>
</head>
<body>
<h2>Please Select your title and name:</h2>
<form action='' method='post'>
<p>
<label for="strFirstname">Type number to add: </label>
<input type='text' name='strNumber' id='strNumber'/>
</p>
<p>
<input type='submit' name='submit' value='Add' />
</p>
<p>
<input type='submit' name='calculate' value='Compute' />
<input type='submit' name='clear' value='clear' />
</p>
<?php
if (isset($_POST['submit'])) {
if(!array_key_exists("numbers", $_SESSION)) {
$_SESSION["numbers"] = array();
}

array_push($_SESSION["numbers"], $_POST["strNumber"]);
}

if(isset($_POST['clear'])) {
$_SESSION["numbers"] = array();
}

if(array_key_exists("numbers", $_SESSION)) {
echo implode("+", $_SESSION["numbers"]);
}

if(isset($_POST['calculate'])) {
if(array_key_exists("numbers", $_SESSION)) {
$expression = implode("+", $_SESSION["numbers"]);
eval( '$result = (' . $expression . ');' );
echo "=" . $result;
}
}
?>
</form>
</body>
</html>
  • 开始 session
  • 当 Action 是“提交”时
    • 检查将存储数字的 session 是否已初始化
    • 如果不是初始化为数组
    • 最后将数字压入数组
  • 检查是否有 session 初始化,如果有打印所有数字(你可以使用 implode 来做到这一点)
  • 如果操作是计算 .. 只需进行计算(检查 eval 函数)

关于php - 使用单个文本框在发布后继续向数组添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33623110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com