为什么刷新后按钮处于活动状态?
Why button is active after refresh?
我正在做一个项目,基本上我需要将输入表单的内容存储在一个数组中,但我必须添加它,而不是替换它,这就是我使用 session_start() 的原因.
问题是,即使在将输入表单留空并因此不提交任何输入而只是刷新页面后,每次都会添加最后一个元素。
例如,假设我第一次将 John 添加到输入表单中并按下 SUBMIT 按钮,第一次结果将是正常的,Array ([0] => John
),但是,通过简单地刷新(并因此让输入字段为空),名称 John 将无缘无故地添加到数组中,这是输出示例:
Array (
[0] => John
[1] => John
[2] => John
[3] => John
[4] => John
[5] => John
[6] => John
)
在这种情况下,我对页面进行了 6 次刷新。似乎按钮保持活动状态,因此传递了 if(isset($_POST['invia_prenotazione'])) 控件。
<?php
session_start();
if (!isset($_SESSION['nomi']))
{
$_SESSION['nomi']=array();
}
if(isset($_POST['invia_prenotazione']))
{
$_SESSION['nomi'][]=$_POST['nome'];
echo "<br>";
print_r($_SESSION['nomi']);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Es1</title>
<style>
input
{
position: relative;
display: block;
}
</style>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Nome Evento: <input type="text" name="nome"><br>
<input type="submit" name="invia_prenotazione" value="SUBMIT"><br>
</form>
</body>
</html>
执行提交后,每次刷新页面都会再次执行相同的操作,这意味着您再次提交表单。
看这里:
Best way to avoid the submit due to a refresh of the page
一般来说,将表单页面重定向到同一页面并不是一个好的做法,也不会将逻辑包含在您的视图文件中。相反,您应该有一个登录 php 文件和一个视图文件。
我正在做一个项目,基本上我需要将输入表单的内容存储在一个数组中,但我必须添加它,而不是替换它,这就是我使用 session_start() 的原因.
问题是,即使在将输入表单留空并因此不提交任何输入而只是刷新页面后,每次都会添加最后一个元素。
例如,假设我第一次将 John 添加到输入表单中并按下 SUBMIT 按钮,第一次结果将是正常的,Array ([0] => John
),但是,通过简单地刷新(并因此让输入字段为空),名称 John 将无缘无故地添加到数组中,这是输出示例:
Array (
[0] => John
[1] => John
[2] => John
[3] => John
[4] => John
[5] => John
[6] => John
)
在这种情况下,我对页面进行了 6 次刷新。似乎按钮保持活动状态,因此传递了 if(isset($_POST['invia_prenotazione'])) 控件。
<?php
session_start();
if (!isset($_SESSION['nomi']))
{
$_SESSION['nomi']=array();
}
if(isset($_POST['invia_prenotazione']))
{
$_SESSION['nomi'][]=$_POST['nome'];
echo "<br>";
print_r($_SESSION['nomi']);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Es1</title>
<style>
input
{
position: relative;
display: block;
}
</style>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Nome Evento: <input type="text" name="nome"><br>
<input type="submit" name="invia_prenotazione" value="SUBMIT"><br>
</form>
</body>
</html>
执行提交后,每次刷新页面都会再次执行相同的操作,这意味着您再次提交表单。
看这里:
Best way to avoid the submit due to a refresh of the page
一般来说,将表单页面重定向到同一页面并不是一个好的做法,也不会将逻辑包含在您的视图文件中。相反,您应该有一个登录 php 文件和一个视图文件。