Я работаю над проектом, и в основном мне нужно хранить содержимое формы ввода в массиве, но я должен добавить его, а не заменить, поэтому я использую session_start().
Проблема в том, что даже если оставить форму ввода пустой и, таким образом, не отправлять какие-либо данные, а просто обновлять страницу, последний элемент добавляется каждый раз.
Например, допустим, что в первый раз я добавил Джона в форму ввода и нажал кнопку SUBMIT, в первый раз результаты будут нормальными, Массив ([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>