Одна форма многократной отправки в одном массиве - PullRequest
0 голосов
/ 18 февраля 2020

Я пытался вывести sh с помощью одной формы, используя метод $_POST, несколько раз одну и ту же форму (с разными значениями), пока индекс массива не станет равен 4 (или число, которое я решу).

Таким образом, с помощью этой html формы я хочу нажать submit, pu sh значения в массив, затем обновить страницу sh, повторно вставить различные значения и т. Д., Пока условие не станет истинным.

<?php
if (!isset($count)) {
    $person = array(
        array(
            'name' => '',
            'surname' => '',
            'phoneNumber' => ''
        )
    );
}
var_dump($person);
if (!isset($_POST['submit'])) {

    echo "<form action=\"index.php\" method=\"post\">
        <label for=\"name\">Name</label>
        <input type=\"text\" name=\"name\" required>
        <br>
        <label for=\"surname\">Surname</label>
        <input type=\"text\" name=\"surname\" required>
        <br>
        <label for=\"phoneNumber\">Phone Number</label>
        <input type=\"text\" name=\"phoneNumber\" required>
        <br>
        <input type=\"submit\" value=\"Submit\" name=\"submit\">
    </form>";
    $count = 0;
} else {
    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $phoneNumber = $_POST['phoneNumber'];

    if (count($person) <= 2) {
        array_push($person, $name, $surname, $phoneNumber);
        //echo "<meta http-equiv=\"refresh\" content=\"0\">";
        //echo "Sto inserendo persone";
        //echo count($persone);
        echo count($person);
        //var_dump($persone);
        //print_r($persone);
    } else {
        var_dump($person);
    };
}

?>

Я думал об использовании $_SESSION, но у меня нет идеи о том, как его использовать.

Я не хочу использовать AJAX или jQuery или Javascript только чистый PHP.

1 Ответ

0 голосов
/ 18 февраля 2020

В приведенном ниже примере всегда отображается форма и ваш массив физических лиц. Если вы отправите форму, ваши данные будут добавляться в массив до тех пор, пока в нем не будет более трех записей. Я думаю, это то, что вы ищете:

<code><?php
session_start();

if (!isset($_SESSION['persons'])) {
    $_SESSION['persons'] = [];
}

if(isset($_POST['submit'])) {
  if (count($_SESSION['persons']) <= 2) {
    $_SESSION['persons'][] = array(
      'name' => $_POST['name'],
      'surname' => $_POST['surname'],
      'phoneNumber' => $_POST['phoneNumber']
    );
  }
}
?>

<pre><?php var_dump($_SESSION['persons']); ?>
Имя
Фамилия
Номер телефона
Разместить

С помощью следующей строки кода вы можете очистить свой массив, если вам нужно:

$_SESSION['persons'] = [];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...