[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сессия и переменная формы
sokpet
Добрый день.

Пытаюсь выдернуть массив "art[]" из формы и запихнуть его в сессию. Что-то не получается. Подскажите плиз.

<?php
session_start();
$_SESSION['test'] = "art[]"; /* Так не работает, что здесь ставить? */
?>



<form action="contactos.php" >
<input
type="submit" value="Mas Info" class="mas_info">
<input
type="checkbox" name="art[]" class="free" value="1"/>
<input
type="submit" value="Mas Info" class="mas_info">
<input
type="checkbox" name="art[]" class="free" value="2"/>
</form>





Спустя 7 минут, 52 секунды (18.12.2009 - 00:06) phz написал(а):
// Инициируем сессию

session_start();

// Помещаем массив в сессию

$arr = array("first", "second", "third");

$_SESSION['arr'] = $arr;

Спустя 2 минуты, 24 секунды (18.12.2009 - 00:08) Stuff_f написал(а):
зарегистрируй сесию, блин а именно зарегистрируй ту переменную всесию какую тебе нужно

bool session_register(mixed name [, mixed name1, ...])




<?phpsession_start();session_register("count");$count=@$count+1;?><h2>Счетчик</h2>В текущей сессии работы с браузером вы открыли эту страницу<?=$count?> раз(а). Закройте браузер, чтобы обнулить счетчик.</body>

Спустя 1 минута, 11 секунд (18.12.2009 - 00:09) Stuff_f написал(а):
session_register
Указывает PHP на то, что ту или иную переменную нужно сохранить в сессии.


Спустя 1 минута, 1 секунда (18.12.2009 - 00:10) Romms написал(а):
sokpet, просто надо передать не строку с текстовым содержаниям "art[]", а масив $art
$_SESSION['test'] = $art;

Спустя 35 секунд (18.12.2009 - 00:11) Stuff_f написал(а):
session_unset
Отменяет регистрацию и уничтожает глобальные переменные

Спустя 2 минуты, 19 секунд (18.12.2009 - 00:13) Romms написал(а):
Stuff_f, будь внимательным(!!!) проблема не с регистрацией сессии...

Спустя 25 секунд (18.12.2009 - 00:14) phz написал(а):
Цитата (Romms @ 17.12.2009 - 21:10)
sokpet, просто надо передать не строку с текстовым содержаниям "art[]", а масив $art
$_SESSION['test'] = $art;

Во во. Я думаю автор темы уже исправил wink.gif

Спустя 1 час, 57 минут, 26 секунд (18.12.2009 - 02:11) sokpet написал(а):
спасибо, исправил... только почему-то туда данные из формы не попадают. В чем проблема?

Спустя 23 минуты, 28 секунд (18.12.2009 - 02:34) VolCh написал(а):
$_SESSION['test'] = $_POST['art'];

Спустя 6 минут, 57 секунд (18.12.2009 - 02:41) sokpet написал(а):
попробывал, все равно ничего не выдает. Почему ???

Спустя 15 минут, 30 секунд (18.12.2009 - 02:57) VolCh написал(а):
А как проверяешь, что не работает? smile.gif

Спустя 6 минут, 36 секунд (18.12.2009 - 03:04) sokpet написал(а):
там где форма отмечаю чекбоксы и на другой странице через


<?php
session_start();
if(isset($_SESSION['test']))
{
echo $_SESSION['test'];
}
?>


Если бы работало, то должно было вылетать 1 2 3 4 в зависимости от выбранного чекбокса.


Спустя 17 минут, 24 секунды (18.12.2009 - 03:21) VolCh написал(а):
Блин, у тебя форма же не POST, надо значит

$_SESSION['test'] = $_GET['art'];

хотя не уверен, что php из гет параметров массив соберет, никогда не проверял smile.gif

Спустя 5 минут, 27 секунд (18.12.2009 - 03:26) sokpet написал(а):
с GET тоже пробывал, (даже с REQUEST biggrin.gif ) пока глухо.

А по поводу PHP и GET массива , то очень даже собирает, через implode

Спустя 7 часов, 7 минут, 48 секунд (18.12.2009 - 10:34) Gradus написал(а):
Покажите полный скрипт занесения данных с формы в сессию , форму , как выводите

Спустя 6 минут, 25 секунд (18.12.2009 - 10:41) NewBePhp написал(а):
а сам не умеешь?

Спустя 12 минут, 10 секунд (18.12.2009 - 10:53) Gradus написал(а):
NewBePhp
Если ты мне, то мой пост для автора, что бы помочь найти ошибку

Спустя 1 час, 49 минут, 15 секунд (18.12.2009 - 12:42) sokpet написал(а):
На всякий случай включил register_globals on

Далее...

ofertas.php


<?php
session_start();
$_SESSION['test'] = $art; /* Так не работает, что здесь ставить? */
?>


<form action="contactos.php" >
<input
type="submit" value="Mas Info" class="mas_info">
<input
type="checkbox" name="art[]" class="free" value="1"/>
<input
type="checkbox" name="art[]" class="free" value="2"/>
<input
type="checkbox" name="art[]" class="free" value="3"/>
<input
type="checkbox" name="art[]" class="free" value="4"/>
</form>


Теперь хочу получить данные формы на странице

ofertas_2.php

[php]
<?php
session_start();
if(isset($_SESSION['test']))
{
echo $_SESSION['test'];
}
?>
[/php]

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


<form action="contactos.php" >
<input type="submit" value="Mas Info" class="mas_info">
<input type="checkbox" name="art[]" class="free" value="5"/>
<input type="checkbox" name="art[]" class="free" value="6"/>
<input type="checkbox" name="art[]" class="free" value="7"/>
<input type="checkbox" name="art[]" class="free" value="8"/>

<input type="hidden" name="art[]" class="free" value="<?php echo $_SESSION['test'];?>"/>
</form>
[html]

После чего все даннные из массива art собираются и летят в contactos.php через GET
(т.е. form action трогать нельзя!)

Спустя 26 минут, 59 секунд (18.12.2009 - 13:09) Varyag666 написал(а):
укажи в форме method="post", и нафига использовать здесь сессию?

<form action="contactos.php" method="post">
<input
type="checkbox" name="art[]" class="free" value="1"/>
<input
type="checkbox" name="art[]" class="free" value="2"/>
<input
type="checkbox" name="art[]" class="free" value="3"/>
<input
type="checkbox" name="art[]" class="free" value="4"/>
<input
type="submit" value="Mas Info" class="mas_info"></form>


<?php
session_start();
$arr=$_POST['art'];
$_SESSION['test']=$arr;

if(isset($_SESSION['test'])){
foreach ($arr as $val){
echo "$val";
}
}

?>

Спустя 1 час, 16 минут, 49 секунд (18.12.2009 - 14:26) sokpet написал(а):
я не через САБМИТ перехожу а по обычному линку

<form action="contactos.php" method="post"> я не могу здесь поставить ofertas_2.php

если в action поставить ofertas_2.php и переходить через Сабмит, то конечно все будет работать.

А вот как сделать перенос информации при переходе по обычной ссылке???

Спустя 36 минут, 18 секунд (18.12.2009 - 15:02) Gradus написал(а):
Запутано всё с файлами: туда, сюда, ссылка... blink.gif
Форма отправки на contactos.php, принимаете данные на ofertas.php естественно ничего не создаёться.

Спустя 46 минут, 35 секунд (18.12.2009 - 15:49) Varyag666 написал(а):
Gradus, да запутано ппц

Цитата
А вот как сделать перенос информации при переходе по обычной ссылке???


ну здесь метод действительно GET, тебе нужно сформировать ссылку, но проблема то в другом, ведб можно все на одной странице это сделать, и нажимать на кнопку-проще и быстрее, со ссылкой думать надо. Причем форма специально сделана чтобы по кнопке все это отправлять, а ссылкой всеравно надо инфу получить, а это фрома, думай мож че придумаешь))

Спустя 4 часа, 9 минут, 32 секунды (18.12.2009 - 19:58) VolCh написал(а):
В ссылке сделай что-то вроде
<a href="#" onclick="form.submit">Отправить</a>


И действительно очень сумбурно изложено что откуда куда идёт и т. п.

Листинг каждого файла надо выкладывать отдельно (но не разрывать логически), предваряя его названием файла


Спустя 6 дней, 13 часов, 19 минут, 7 секунд (25.12.2009 - 09:17) eagilik написал(а):
Открыл сессию с именем 'VLV', для проверки вывел имя сессии и зарегистрировал переменную MSS
___________________________________________________________________

<?php
session_start();
?>
<?php
session_name( 'VLV' );
print session_name()."<br>";
$MSS = "NNNN";
session_register( "MSS" );
echo "\$MSS = $MSS<BR>";
?>
<br />
<a href="session.php"> !!!! </a><br />
____________________________________________________________________________________________________

браузер пишет

VLV
$MSS = NNNN

!!!!

______________________________________________________________________________________________________

на другой странице под ссылкой !!!! вызвал сессию 'VLV' и стартовал ее, затем вывел переменную MSS

__________________________________________

<?php
session_start();
print session_name()."<br>";
print ( $MSS );
if ( !empty ( $_SESSION[ "MSS" ] ) )
echo "YES";
else
echo "NO";
?>

____________________________________________________

на первой странице
нажимаю на !!!!

ответ браузера
______________________________________________________________________________________________________

VLV

Notice: Undefined variable: MSS in C:\Apache2.2\htdocs\session.php on line 7
NO

______________________________________________________________________________________________________

пожалуста помогите

Спустя 9 минут, 54 секунды (25.12.2009 - 09:27) eagilik написал(а):
Может у меня ошибка где?
Быстрый ответ:

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