данные в сессии

R00miss

Guest
данные в сессии

Привет!
Вот делаю себе скрипт тестов, и вот какая проблема - мне нада чтобы запоминались ответы юзера, т.е. если я пишу в сессию otvet - то там одно данное может сохраниться, а мне нада 20... можно конечно написать otvet1, otvet2... но проболема в том, что я не знаю сколько вопросов в тесте будет, поэтому не знаю сколько будет ответов, поэтому я совсем запутался и не знаю что делать...

ПЛИИИИИИЗ ХЭЭЭЭЭЭЭЭЭЛП!!! :)
 

ForJest

- свежая кровь
*подсказывает шепотом* Ты можешь хранить в сессии массивы....
*подумал еще немного* и даже объекты :)
 

R00miss

Guest
О!
А как? :)
Можно малеееееееенький примерчик? Хотябы с двумя данными в одном массиве...
 

R00miss

Guest
и вообще, можно узнать где можно почитать про сессии с примерами?
Можно на агл. можно на рус... главаное чтобы с примерами...
 

ForJest

- свежая кровь
$answers = array('val1', 'val2');
$_SESSION['answers'] = $answers;
Смысл понятен, я думаю.
 

R00miss

Guest
хм... а что если я не знаю сколько val будет в арэи ?
 

R00miss

Guest
попробовал... чё та не особо понял :)
когда вывожу результат - пишет Array... наверно что то нетак делаю... вот как делаю:

файл start.php:
PHP:
echo "<form method='POST' action='./?p=send&sid=$sid'>";
  for ($x = 1; $x <= $anshow; $x++){
	$anrow = mysql_fetch_array($ansinfo);
	$answers = $anrow["answer"];
                     echo "<input type='radio' value='$x' name='ansgiven'>$answers<br>";
		}
echo "<input type=submit name=submit>";
файл send.php:
<? $ganswer=$ansgiven; ?>

файл с сессией, который инклюдается во все файлы:
session_start();
session_register('results');
$sid=session_id();

$answers = array('ganswer');
$results['answer'] = $answers;

и последний файл, который выводит результат:
echo "Array is ".$results['answer']."<br>";

в чем проблема?
 

ForJest

- свежая кровь
Это уже не ко мне, сорри. У меня традиционная сексуальная ориентация.
 

tony2001

TeaM PHPClub
>echo "Array is ".$results['answer']."<br>";
>в чем проблема?
для этого надо понимать что есть массивы.
print_r($results['answer']);
 

R00miss

Guest
чё та не доганяю я... так как же мне воткнуть номер ответа?
пишу:
PHP:
$ansgiven="hi";
$results['answer'] = array(1=>'ansgiven');
//print_r($results['answer']);
и получаю: Array ( [1] => ansgiven ), но ведь мне нада не ansgiven, а hi чтобы вывелось... чё та запутался я
 

R00miss

Guest
ок, в это врубился - получается, но теперь проблема в том, впринципе из-за чего эта тема и началась :)

Когда отвечают на вопрос - сохраняется данная в $ansgiven
Но когда, отвечают на второй вопрос - $ansgiven меняется на новый ответ, а как сделать, чтоб она не заменяла, а сохраняла под другим номером в array?
 

RomikChef

Guest
Когда отвечают на вопрос - сохраняется данная в $ansgiven[sizeof($ansgiven)]
Но когда, отвечают на второй вопрос - в $ansgiven[sizeof($ansgiven)]
 

R00miss

Guest
можно чуть поподробнее?
допстим данные посылаються через файл send.php
что там писАть?
типа такого:
PHP:
$ansall=$ansgiven[sizeof($ansgiven)];
$results['answer'] = array(1=>$ansall);
 
Сверху