PHP как сохранить значение select?
Сохранить значения select из html формы при загрузке страницы без использования базы данных, возможно при помощи сессий или куков.
Так как значение будет сохраняться для определенного пользователя лучше использовать куки, но и сохранение в сессию тоже будет не хуже.
В данном примере сохранять мы будем в куки по средствам php, возвращать это значение мы будем через javascript подставляя значение из куков.
Предположим мы имеем такую форму…
<form method='POST' action='index.php'> <select id='seleValueSave' name='seleValueSave'> <option name='sele' value='SelectOne'>Выбор один</option> <option name='sele' value='SelectTwo'>Выбор два</option> <option name='sele' value='SelectThree'>Выбор три</option> </select> <input type='submit' id='buttonSubmit' name='buttonSubmit' value='Отправка' /> </form>
И далее по принципу сравнения делаем сохранения.// Заносим наш POST запрос в переменную $sele = $_POST['seleValueSave'];
Теперь при выборе нужного значения из формы, происходит сохранения нужного значения в куки по средствам php.if ($sele === "SelectOne") { //Ваш код //... //Устанавливаем в куки. ( "Название куки", "ЗНАЧЕНИЕ КУКИ", "ВРЕМЯ 1 ЧАС", "ПУТЬ КУКИ" ) setcookie("selectForm", "One", time() + 3600*1, "/"); } if ($sele === "SelectTwo") { //Ваш код //... //Устанавливаем в куки. ( "Название куки", "ЗНАЧЕНИЕ КУКИ", "ВРЕМЯ 1 ЧАС", "ПУТЬ КУКИ" ) setcookie("selectForm", "Two", time() + 3600*1, "/"); } if ($sele === "SelectThree") { //Ваш код //... //Устанавливаем в куки. ( "Название куки", "ЗНАЧЕНИЕ КУКИ", "ВРЕМЯ 1 ЧАС", "ПУТЬ КУКИ" ) setcookie("selectForm", "Three", time() + 3600*1, "/"); }
Возвращать нужное значение будем при помощи javascript, для этого создаем метод чтения куков.
//Подключаем библиотеку jQuerry для "$".
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
//Делаем обертку на событие готовности документа, скрипт срабатываем, когда DOM дерево полностью построено.
$(document).ready(function() {
//Метод чтения куков.
function readCookie(name) {
var nameEQ = name + '=';
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
//Читаем куку (Название кука, должно соответствовать названию при setcookie) и заносим в переменную значение кука...
var value = readCookie('selectForm');
//Далее такой же принцип сравнения... (Значение также из setcookie)
if ( value === 'One' ){
//Возвращаем значение нашей формы.
$('#seleValueSave').val('SelectOne')
}
if ( value === 'Two' ){
$('#seleValueSave').val('SelectTwo')
}
if ( value === 'Three' ){
$('#seleValueSave').val('SelectThree')
}
//Закрываем обертку.
});
</script>
Теперь выбор селекта будет сохраняться при помощи куков и при перезагрузки страницы выбранный селект будет возвращаться, действия для сессии будут практически аналогичны.
Надеюсь данная статья будет Вам полезна.
Статья "Как сохранить select" содержит 1 комментарий
Например: