Есть форма ввода. Надо заполнить массив данными из формы и вывести. Но у меня не получается аккумулировать записи. Каждый ввод стирает предыдущий. Как сделать так чтобы записи добавлялись к массиву?
Ответ
Как сделать так чтобы записи добавлялись к массиву?
Использовать сессию для ввода/вывода notes.php, до завершения надо сохранить в один из вариантов представленных ниже:
Использовать файлы для ввода/вывода записей (не самый удачный)
$note = filter_var ($_POST['text'], FILTER_SANITIZE_STRING);
$yor_file = file_put_contents('notes.txt', $note.PHP_EOL , FILE_APPEND | LOCK_EX);
Использовать базу данных для ввода/вывода записей (рекомендованный)
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO notes (text) VALUES (:text)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':text', $_POST['text']);
$stmt->execute();
Будет логичнее потом расспечатывать, на той странице которая послала эти записи.
Скорее в связке с сессией, которая до завершения сохранит все в базу данных, будет оптимальным решением.
$_SESSION - Ассоциативный массив, содержащий переменные сессии, которые доступны для текущего скрипта.
file_put_contents - Если notes.txt не существует, файл будет создан. Добавит в файл новую запись FILE_APPEND.
Класс PDO - Представляет соединение между PHP и сервером базы данных.
Комментариев нет:
Отправить комментарий