Помогите разобраться с сессиями.

Parde

Новичок
Помогите разобраться с выводом массива ($_SESSION)

Доброго времени суток.
Сейчас постораюсь изложить свою проблему.
Так вот, на первой странице происходит выбор товара вот так.
http://www.imget.ru/images/2009/06/11/OkVWfRKnGc.gif
PHP:
<tr bgcolor="#3399FF">
 <td>
 <th><? echo $as[15] ?></th>
 <th><? echo "$massiva3[7]" ?> р.</th>
 <th><input type="checkbox" name="a1[]" value="<? echo $as[15] ?>" size="5" maxlength="45"></th>
 </td>
 </tr>
Потом переходим на другую страницу вот так. На ней мы задаем колличесвто товара.

PHP:
<? 
 session_start();
 ?>
 <form method="post" action="action_2.php">
 <? 
 echo "<table>";
 $finalMail = "";
 $a1 = (!empty($_POST['a1']) and is_array($_POST['a1']))
 ?$_POST['a1'] : array();
 foreach ($a1 as $key => $val){
     echo "<tr><td><th>$val</th><th>";
 ?>        
 <input type="text" name="a2[]" value="" size="5" >
 <?
     echo "</th></td></tr>";
 $finalMail .= "$val";
 $_SESSION['a_1'] = $finalMail;
 }
 echo "</table>";
 ?>
А дальше, по идеи, cессия в себе хранит имено товара, а вторая сессия запоминает колличество. И все это дружно должно быть выведено в табличку. А вот что получается у меня.Табличка то есть, только в каждой строке должно быть имя и цена, а у меня наименование все сразу и одна цена.

PHP:
<? 
 session_start();
 ?>
 <form method="post" action="action_3.php">
 <?
 echo "<table>";
 $finalMail2 = "";
 $a2 = (!empty($_POST['a2']) and is_array($_POST['a2']))
 ?$_POST['a2'] : array();
 foreach ($a2 as $key => $val){
                 echo "<tr><td><th>";
     echo $_SESSION['a_1'];
     echo "</th><th>$val</th></th></td></tr>";
     $finalMail2 .= "$val";
     $_SESSION['a_2'] = $finalMail2;
     
 }
 echo "</table>";
 ?>
Зарание большое спасибо:)
 

Фанат

oncle terrible
Команда форума
сессии, насколько я могу судить из описания, здесь не при чем.
если из $_SESSION что-то выводится, то сессии работают.

получается, что здесь, скорее, неумение работать с массивом.

отсутствие кавычки в последнем куске кода - это здесь опечатка, или в реальном коде?
 

Parde

Новичок
Автор оригинала: *****
сессии, насколько я могу судить из описания, здесь не при чем.
если из $_SESSION что-то выводится, то сессии работают.

получается, что здесь, скорее, неумение работать с массивом.

отсутствие кавычки в последнем куске кода - это здесь опечатка, или в реальном коде?
Согласен. Сдесь неуменее работать с массивом. А насчет кавычки, это сдесь опечатка, в реальном коде она есть.
 

Фанат

oncle terrible
Команда форума
плохо, что здесь опечатка.
от таких вот мелочей чаще всего проблемы и бывают.

для начала тебе надо продумать структуру массива, который ты хочешь хранить в сессии.

какие данные о товаре ты хранишь и есть ли у товара какой-либо однозначный идентификатор? если есть - то какой именно?
 

Parde

Новичок
Автор оригинала: *****
плохо, что здесь опечатка.
от таких вот мелочей чаще всего проблемы и бывают.

для начала тебе надо продумать структуру массива, который ты хочешь хранить в сессии.

какие данные о товаре ты хранишь и есть ли у товара какой-либо однозначный идентификатор? если есть - то какой именно?
Да как бы тут уже все продумано, я и картинки приложил. Смысл в том что $_SESSION['a_1'] хранит в себе имена товара, котрый был выбран на первой странице, на второй странице указывается колличесвто товара, а на 3 страницы выводится наименование товара и напротив цена, на последнем изображение видно, что у меня оно то выводится да только не так как нужно:)
Хотелось бы узнать ка построчно можно вывести массив через цикл и что бы каждая строчка массива была в таблице:)А опечатку я исправил, и как вы заметили про вывод масива, исправил и название поста.
 

Фанат

oncle terrible
Команда форума
странно.
я, как бы, задал вопрос, но ответа на него не получил.
ну ладно
ка построчно можно вывести массив через цикл
в документации есть пример. все выводится элементарно.
если, конечно, у нас есть нужный массив.
тут уже все продумано
ты себе льстишь. очень
 

Parde

Новичок
Автор оригинала: *****
странно.
я, как бы, задал вопрос, но ответа на него не получил.
ну ладно

в документации есть пример. все выводится элементарно.
если, конечно, у нас есть нужный массив.

ты себе льстишь. очень
1. Я себе не льстю:)Т.к. изучаю PHP не больше 3 недель.
2. Если посмотреть внимательно на тот код, который я выложил, то видно, (а может и не видно) Что данные беруться из формы. А именно название товара ,это вот это value="<? echo $as[15] ?>" и данные берутся из массива.
3. Про продуманность. Я задал вопрос конкретный. Я понимаю, что массив вывести построчно легко и это есть в документации, но простите меня великодушно, если бы я это мог бы сделать, наверное к Вам бы я не обращался. И как Вы уже догодались, я не могу вывести $_SESSION['a_1'] так как мне нужно, он выводится весь и сразу, а если он в цикле, то смотреть изображение 3, он выводится опять же весь и сразу много раз подряд.
 

Фанат

oncle terrible
Команда форума
Проси прощения у себя.
Кроме того, что ты сделал мне одолжение, задав свой ужасно сложный вопрос, попробуй еще вспомнить про себя. И читать, наконец, что тебе пишут.

Если массив выводится неправильно, то, наверное, в нем лежит не то, что ты думаешь? И проблема не в выводе массива, а в добавлении?

-~{}~ 12.06.09 13:46:

А конкретный твой вопрос никого не интересует. Если все, что привело к этому вопросу, уже было неправильно.
Так что с опытом 3 недели попробуй чуть более критически относиться к своему умению задавать "конкретный вопрос"

-~{}~ 12.06.09 13:51:

если ты хочешь учиться, то тебе надо откатить свой "конкретный вопрос" сильно назад. не решать как частную задачу практически решенного проекта, а переделывать все.
и начинать с малого. с работы с одним массивом - без сессий, форм и прочего.
 
Сверху