Добавить текстовую строку в php после отправки - PullRequest
0 голосов
/ 12 января 2020
<html>
<head><title>some title</title></head>
<body>
  <form method="post" action="">
    <input type="text" name="test1" value="<?= isset($_POST['test']) ? htmlspecialchars($_POST['test']) : '' ?>" />
    <input type="submit" name="submit" />
  </form>

<?php
if(isset($_POST['submit'])) {
  echo 'You entered: ', htmlspecialchars($_POST['test']);
}
?>
</body>
<html>

После клика я хочу добавить новую строку автоматически.

Если теперь у меня есть:

You entered: test1

После другого нажатия мой текст будет 'test2, у меня есть:

You entered: test1
You entered: test2

После обновления страницы sh снова и снова.

Как добавить текст после щелчка?

1 Ответ

1 голос
/ 12 января 2020

Хотя я не совсем уверен, что именно вы ищете, следующий (очень простой c) пример кода может помочь вам на вашем пути.

Используется PHP сессий , но, как отмечено в комментариях, есть и другие способы сохранения данных, которые вы, возможно, захотите исследовать.

Если вы хотите go с сессиями, прочитайте руководство , есть много важных деталей, которые не охвачены этим ответом.

<?php
session_start();
?>

<html>
<head><title>some title</title></head>
<body>
<form method="post" action="">
    <input type="text" name="test1" value="<?= isset($_POST['test1']) ? htmlspecialchars($_POST['test1']) : '' ?>"/>
    <input type="submit" name="submit"/>
    <input type="submit" name="clear-input" value="clear">
</form>
</body>
<html>

<?php
if (isset($_POST['submit'])) {
    $_SESSION['input'][] = $_POST['test1'];
    foreach ($_SESSION['input'] as $input) {
        echo 'You entered: ' . htmlspecialchars($input);
        echo '<br />';
    }
}
if(isset($_POST['clear-input'])) {
    $_SESSION['input'] = [];
}
?>

примечание: Я добавил кнопку (пере) начать с чистого листа (понятный ввод пользователя).

...