[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сохранить и показать данные
Telez
Здравствуйте
У меня есть страница конфигурации, на которой можно изменять настройки.
Каждая часть конфигурации заключена в форму, которая вызывает ту же страницу и сохраняет новые данные в MySQL.
После этого я вызываю load(), чтобы показать обновленные данные. Но новые данные не показываются пока я не обновлю всю страницу (F5)

Вопрос: как сделать чтобы нажав на кнопку страница перегрузилась, сохранила измененные данные и тут же их показала через load()?
Спасибо
Kusss
сначала обработка данных, перезагрузка страницы и показываем текущие настройки.
<?php
if (isset($_POST['save'])){

// обработка данных

header('Location: '.$_SERVER['HTTP_REFERER'] );
die();
}


$data = load();
?>

<form method="post">
<!--
тут данные -->
<
input type="submit" name="save" value="Сохранить">
</
form>
Telez
А зачем header?
Разве <form action="" method="post"> не перегружает динамическую страницу?
Kusss
Чтобы удалить данные из формы после обработки, и очистить POST массив
sergeiss
Цитата (Telez @ 4.01.2018 - 17:57)
Вопрос: как сделать чтобы нажав на кнопку страница перегрузилась, сохранила измененные данные и тут же их показала через load()?

Более "красиво" будет сохранить данные через аякс. Тогда, если всё успешно, тебе даже ничего обновлять не нужно - у тебя же как раз все данные уже "свежие" показаны. Только покажешь инфу юзеру, что настройки успешно сохранены и он будет доволен и счастлив.

Тем более, что из следующего процитированного предложения можно сделать вывод, что у тебя несколько форм, по одной для каждой части конфигурации.
Цитата (Telez @ 4.01.2018 - 17:57)
Каждая часть конфигурации заключена в форму, которая вызывает ту же страницу...

Так зачем заново грузить то, что не было изменено (т.е. все части кроме измененной)? Аякс решает эту проблему.

Другие плюсы:
- меньше трафика гоняется
- меньше нагрузка на сервер (как ПХП, так и БД)
- нет мельтешения страниц в браузере

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Telez
sergeiss, Можно пример? Не совсем понятно...
sergeiss
Пример чего именно? Гугл знает всё smile.gif Я честно скажу, не хочу переписывать то, что 100500 раз уже обговорено.
Гуглим "аякс отправка формы", первая же ссылка https://www.poseti.net/articles/otpravka-fo...tpravka-formyi/

На самом деле, на странице даже форму не обязательно создавать. Её можно сделать динамически. Это более современный способ. Вот тут https://itchief.ru/lessons/javascript/formd...ncode-form-data подробно описано.
В JS создаем объект FormData(), добавляем в него столько данных, сколько нам нужно. Причем, можно сформировать любые данные, не беря их со страницы. Хотя, конечно, можно и из инпутов брать smile.gif И затем с помощью того же аякса отправляем эти данные на сервер.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Telez
sergeiss, спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.