Как сохранить сохраненные данные при обновлении страницы

#php #jquery #mysql #ajax

#php #jquery #mysql #ajax

Вопрос:

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

jsfiddle

Я хочу иметь возможность сохранять все данные в полях, если страница случайно обновляется с помощью сеансов, но я не могу, не знаю, как создать код для хранения данных с использованием сеанса, который позволит мне добавить детали в базу данных MySQL, которую мне еще предстоит создать, и посмотреть, как добавить данные с помощью Ajax.

Мы будем признательны за любую помощь в том, как сохранить данные с использованием сеансов, которые вводятся в динамической форме.

Комментарии:

1. Вам необходимо загрузить данные из базы данных, хотя вы можете рассмотреть другие сохраняемые методы, если ввод данных не завершен при перезагрузке формы (cookie, pushState / popState, идентификатор фрагмента, сеанс). Ваш вопрос очень общий, существуют учебные пособия, которые показывают вам, как заполнить форму из данных, хранящихся в базе данных.

Ответ №1:

Используйте cookie для этой цели :

Перед тем, как покинуть страницу, сделайте копию данных формы в cookie и при обновлении снова заполните форму, используя эти cookie.

Комментарии:

1. Спасибо за ответ. Я думаю, что, возможно, неправильно задал вопрос. Мне нужна возможность сохранять информацию, которая была введена вручную, в случае, если страница обновляется до того, как детали были введены в базу данных.

Ответ №2:

Как только вы отправляете страницу, данные отправляются на сервер и загружается новая страница (в вашем случае это та же страница, что и раньше), вы можете использовать jQuery.post или jQuery.ajax для отправки данных формы на сервер вместо фактической отправки формы.

Ответ №3:

 window.onbeforeunload = function(e) {
	var val = document.getElementById("sampleData").value;
	document.cookie = "SampleData=" val ";";
};

window.onload = function() {
  var cook = document.cookie;
  cook = cook.split(";");
  for(var i=0; i < cook.length ; i  ){
	var tempSingleCookie = cook[i].split("=");
	if(tempSingleCookie[0] === "SampleData")
	{
		document.getElementById("sampleData").value = tempSingleCookie[1];
		//Some old date
		document.cookie = "SampleData= ;expires=Thu, 18 Dec 2013 12:00:00 UTC";
	}
  }
};  
 <table>
<tr>
<td>
Sample Data
</td><td><input id="sampleData" type="text"></td>
</tr>
</table>