Сохранять значения форм после отправки PHP с помощью файлов cookie.

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

Я пробовал это, но он не работал

<? php if (isset($_POST['Infos_test'])) { $expire = 8*3600; setcookie("Infos_test", $_POST['from']&|&$_POST['area_html'], time()+$expire); } ?> 

…..

 <?php if (isset($_COOKIE['Infos_test'])) { $Infos_test = explode("&|&", $_COOKIE['Infos_test']); } ?> 

…..

 <input type="text" name="from" style="width:350px" value="<?php echo $Info_test[0]; ?>"/> <textarea valign="top" name="area_html" style="width:350px; height:150px; resize:none;" /><?php echo $Info_test[1]; ?></textarea> 

Я предпочитаю использовать переменные SESSION перед куки-файлами. Вот пример кода:

На странице получения формы:

 session_start(); $_SESSION['from'] = $_POST['from']; $_SESSION['area_html'] = $_POST['area_html']; 

Затем на другой странице:

 <?php session_start(); ?> <!-- here is your html header etc --> From: <?php echo $_SESSION['from']; ?><br> Area HTML: <?php echo $_SESSION['area_html']; ?> 

Обратите внимание, что session_start(); часть должна быть указана ДО любого другого выхода HTML.

Синтаксис HTML для формы должен читать:

 <input type="text" name="from" style="width:350px" value="<?php echo $_SESSION['from']; ?>" /> <textarea valign="top" name="area_html"><?php echo $_SESSION['area_html']; ?></textarea> 

Обратите внимание на тип тега INPUT и изменение того, как значения должны быть вставлены в TEXTAREA.

Вы можете сохранить значения формы в сеансе php, используя переменную $_SESSION а не файлы cookie.

вот несколько учебников, которые помогут вам сделать это.

session_php 1 session_php 2

Просто скопируйте и вставьте этот код в test.php и запустите и обновите его. Вы будете понимать, как это работает.

 <?php if (isset($_POST['sub'])) { echo "Values from POST <br />"; echo "<pre>"; print_r($_POST); echo "</pre>"; $post_arr = $_POST; echo "<pre>"; print_r($post_arr); echo "</pre>"; echo "<pre>"; print_r(serialize($post_arr)); echo "</pre>"; $expire = 8*3600; setcookie("Cookie_Info", serialize($post_arr), time()+$expire); } if (isset($_COOKIE['Cookie_Info'])) { $data = unserialize($_COOKIE['Cookie_Info']); } else { $data = array( 'from' => '', 'area_html' => '' ); /* in above array add what ever fields in a form with same field name */ } echo "This is what we get from cookie"; echo "<pre>"; print_r($data); echo "</pre>"; ?> To view Cookie, it need browser refres one time <br /> <form name="test_form" method="post"> <input type="text" name="from" value="<?php echo $data['from']; ?>" /> <br /> <textarea rows="3" name="area_html" ><?php echo $data['area_html']; ?></textarea> <br /> <input type="submit" name="sub" value="Submit" /> </form>