Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> сессия и form select
zhenia3003  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 135
Пользователь №: 32926
На форуме: 4 года, 10 месяцев, 18 дней
Карма:




доброго времени суток! подскажите как сделать, чтобы $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 - 30.07.2014 - 08:17
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zhenia3003  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 135
Пользователь №: 32926
На форуме: 4 года, 10 месяцев, 18 дней
Карма:





<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>


Как запомнить выбор данной формы через сессию?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15348
Пользователь №: 4190
На форуме: 9 лет, 3 месяца, 18 дней
Карма: 467




Зачем тебе тут сессия, что она даст "эдакого"?


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

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

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

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zhenia3003  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 135
Пользователь №: 32926
На форуме: 4 года, 10 месяцев, 18 дней
Карма:




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

Чтоб запомнить выбор select
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2368
Пользователь №: 27172
На форуме: 6 лет, 1 месяц, 22 дня
Карма: 76




Можно так.

<?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>


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zhenia3003  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 135
Пользователь №: 32926
На форуме: 4 года, 10 месяцев, 18 дней
Карма:




Цитата (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
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15348
Пользователь №: 4190
На форуме: 9 лет, 3 месяца, 18 дней
Карма: 467




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


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

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

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

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2368
Пользователь №: 27172
На форуме: 6 лет, 1 месяц, 22 дня
Карма: 76




Это потому что надо вот так)

<?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>


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2368
Пользователь №: 27172
На форуме: 6 лет, 1 месяц, 22 дня
Карма: 76




sergeiss
Arh = Арх smile.gif


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zhenia3003  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 135
Пользователь №: 32926
На форуме: 4 года, 10 месяцев, 18 дней
Карма:




Цитата (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 - не работает(т.е. результат не сохраняется), что нужно сделать???
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2368
Пользователь №: 27172
На форуме: 6 лет, 1 месяц, 22 дня
Карма: 76




на index2.php точно такой же код?


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zhenia3003  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 135
Пользователь №: 32926
На форуме: 4 года, 10 месяцев, 18 дней
Карма:




Измененный код... существует проблема - теряются куки при переходе на другую страницу..... как исправить?


<?php

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

if(isset($_POST['select'])) {
setcookie("select",(int)$_POST['select'], time()+3600); //Записать куку
$select[(int)$_POST['select']] = 'selected';
} elseif(isset($_COOKIE["select"])) {
$select[(int)$_COOKIE["select"]] = 'selected';
}

if($select[1]==true){
$cityname = "blagoveschensk";
} else if($select[2]==true){
$cityname = "raychihinsk";
}else{
$cityname = "blagoveschensk";
}

?>

<form method="post" style="display:inline-block; width:140px; height:30px; top:5px; left:10px; position:absolute; z-index:14;">
<
select class="citychange" name="select" onchange="this.form.submit()">
<
option value="1" <?=$select[1]?>>Благовещенск</option>
<
option value="2" <?=$select[2]?>>Райчихинск</option>
</
select>
</
form>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zhenia3003  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 135
Пользователь №: 32926
На форуме: 4 года, 10 месяцев, 18 дней
Карма:




Цитата (Arh @ 30.07.2014 - 11:24)
на index2.php точно такой же код?

да, такой же
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2368
Пользователь №: 27172
На форуме: 6 лет, 1 месяц, 22 дня
Карма: 76




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

А по поводу условия с городами, можно записать так.

if($select[1] || !$select[2]){
$cityname = "blagoveschensk";
} else {
$cityname = "raychihinsk";
}


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2368
Пользователь №: 27172
На форуме: 6 лет, 1 месяц, 22 дня
Карма: 76




Или вообще вот так

<?php

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

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

$cityname = array(
1=>'blagoveschensk',
2=>'raychihinsk'
);

$option = isset($_POST['select']) ? (int)$_POST['select'] : (isset($_COOKIE["select"]) ? (int)$_COOKIE["select"] : 1);
$select[$option] = 'selected';
$cityname = $cityname[$option];

?>

<form method="post" style="display:inline-block; width:140px; height:30px; top:5px; left:10px; position:absolute; z-index:14;">
<
select class="citychange" name="select" onchange="this.form.submit()">
<
option value="1" <?=$select[1]?>>Благовещенск</option>
<
option value="2" <?=$select[2]?>>Райчихинск</option>
</
select>
</
form>


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса