[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сессия и form select
Страницы: 1, 2
zhenia3003
доброго времени суток! подскажите как сделать, чтобы $name имела значение select, и как добавить сессию, чтобы select сохранял выбор в форме.

<form method="post">
<
select name="select" onchange="this.form.submit()">
<
option value="1">1</option>
<
option value="2">2</option>
</
select>
</
form>

<?
if (isset($_POST['select'])) $name= $_POST['select'];
echo $name;
?>
zhenia3003

<form method="post">
<
select name="select" onchange="this.form.submit()">
<
option value="1" <?=$_POST['select'] == "1" ? "selected" : ""?>>1</option>
<
option value="2" <?=$_POST['select'] == "2" ? "selected" : ""?>>2</option>
</
select>
</
form>


Как запомнить выбор данной формы через сессию?
sergeiss
Зачем тебе тут сессия, что она даст "эдакого"?

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

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

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

user posted image
zhenia3003
Цитата (sergeiss @ 30.07.2014 - 05:41)
Зачем тебе тут сессия, что она даст "эдакого"?

Чтоб запомнить выбор select
Arh
Можно так.

<?php

$select = array(1=>'',2=>'');

if(isset($_POST['select'])) {
setcookie("select",(int)$_POST['select']); //Записать куку
}

if(isset($_COOKIE["select"])) {
$select[(int)$_COOKIE["select"]] = 'selected';
}

?>

<form method="post">
<
select name="select" onchange="this.form.submit()">
<
option value="1" <?=$select[1]?>>1</option>
<
option value="2" <?=$select[2]?>>2</option>
</
select>
</
form>


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
zhenia3003
Цитата (Arh @ 30.07.2014 - 07:50)
Можно так.

<?php

$select = array(1=>'',2=>'');

if(isset($_POST['select'])) {
setcookie("select",(int)$_POST['select']); //Записать куку
}

if(isset($_COOKIE["select"])) {
$select[(int)$_COOKIE["select"]] = 'selected';
}

?>

<form method="post">
<
select name="select" onchange="this.form.submit()">
<
option value="1" <?=$select[1]?>>1</option>
<
option value="2" <?=$select[2]?>>2</option>
</
select>
</
form>

у меня не работает. выбираю 2, страница перезагружается, в поле снова 1
sergeiss
Покажи полностью свой код, относящийся к этой проблеме. И другой вопрос - ты сессию открываешь? В "тестовом" коде Арча этого нет, но подразумевалось. А у тебя есть?

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

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

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

user posted image
Arh
Это потому что надо вот так)

<?php

$select = array(1=>'',2=>'');

if(isset($_POST['select'])) {
setcookie("select",(int)$_POST['select']);
$select[(int)$_POST['select']] = 'selected';
} elseif(isset($_COOKIE["select"])) {
$select[(int)$_COOKIE["select"]] = 'selected';
}

?>

<form method="post">
<
select name="select" onchange="this.form.submit()">
<
option value="1" <?=$select[1]?>>1</option>
<
option value="2" <?=$select[2]?>>2</option>
</
select>
</
form>


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Arh
sergeiss
Arh = Арх smile.gif

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
zhenia3003
Цитата (Arh @ 30.07.2014 - 10:33)
Это потому что надо вот так)

<?php

$select = array(1=>'',2=>'');

if(isset($_POST['select'])) {
setcookie("select",(int)$_POST['select']);
$select[(int)$_POST['select']] = 'selected';
} elseif(isset($_COOKIE["select"])) {
$select[(int)$_COOKIE["select"]] = 'selected';
}

?>

<form method="post">
<
select name="select" onchange="this.form.submit()">
<
option value="1" <?=$select[1]?>>1</option>
<
option value="2" <?=$select[2]?>>2</option>
</
select>
</
form>

Спасибо, работает. Только заметил одно НО! Пример: если переключаю select на странице index.php, все ок! если захожу на страницу index2.php - не работает(т.е. результат не сохраняется), что нужно сделать???
Быстрый ответ:

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