|
| |
|
|
| |
для: Trianon
(08.09.2007 в 18:30)
| | | Кроме того, такое замечание по паттерну.
Вы очень часто дергаете суперглобапльный массив SESSION безо всякой надобности.
Меж тем вполне достаточно на входе в скрипт данные из него изъять, а перпед окончанием построения страницы - вернуть. Два обращения. И никакой путаницы.
Кстати, в Вашем случае ни кукисы ни сессии вообще не нужны.
Количество накопленных очков и номер шага легко передаются скрытыми полями формы. | |
| |
|
|
| |
|
|
| |
для: VYB
(08.09.2007 в 18:18)
| | | Я вижу, что у Вас
а) полно неопределенных переменных,
и б) отсутствуют break; перед очередными case: А значит происходит fallthrough из одной ветви в другую и так до самого конца. | |
| |
|
|
| |
|
|
| | Здравствуйте!
Мне надо написать простенький скрипт-тест.В одном файле.Я решил сделать его на сессиях.Там в форме просто менять от значения номера вопроса сами вопросы и ответы,суммировать значения,хранить в сессии, а потом вывести результат.Но почему-то не работает-все время один и тот же вопрос и ответы,хотя значение номера вопросов изменятеся,как и должно...
Помогите пожалуйста!
Код файла ниже:
<?php
session_start();
if(!isset($_SESSION['i'])) {$i=1;}
else {$i=$_SESSION['i'];
unset($_SESSION['i']);
}
$_SESSION['i']=$i;
if(isset($_POST['ok']))
{
$sum=$_POST['answer'];
$_SESSION['sum']+=$sum;
$i++;
$_SESSION['i']=$i;
}
switch ($_SESSION['i'])
{
case 1:
unset($_SESSION['question']);
unset($_SESSION['answers']);
$_SESSION['question']="Чем вы руководствуетесь, выбирая что-то в магазине?";
$_SESSION['answers']= "<input type=\"radio\" name=\"answer\" value=\"4\" >\n"
."Ценой<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"3\">\n"
."Вкусом,желанием<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"2\">\n"
."Советом </td>\n";
case 2:
unset($_SESSION['question']);
unset($_SESSION['answers']);
$_SESSION['question']="Какой подарок радует вас больше?";
$_SESSION['answers']= "<input type=\"radio\" name=\"answer\" value=\"4\" >\n"
."Красивый<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"2\">\n"
."Дорогой<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"3\">\n"
."Оригинальный </td>\n";
case 3:
unset($_SESSION['question']);
unset($_SESSION['answers']);
$_SESSION['question']="У вас есть возможность сменить гардероб.<br>По какому принципу будете выбирать одежду?";
$_SESSION['answers']= "<input type=\"radio\" name=\"answer\" value=\"2\" >\n"
."Любимых цветов<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"4\">\n"
."Самое модное<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"3\">\n"
."Что к лицу </td>\n";
case 4:
unset($_SESSION['question']);
unset($_SESSION['answers']);
$_SESSION['question']="Ваш заказ в ателье выполнен.<br>Но оказалось,одежда вам не идет,как поступите?";
$_SESSION['answers']= "<input type=\"radio\" name=\"answer\" value=\"3\" >\n"
."Постараюсь подправить<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"4\">\n"
."Уберу в шкаф,чтобы не расстраиваться<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"2\">\n"
."Предложу знакомым </td>\n";
case 5:
unset($_SESSION['question']);
unset($_SESSION['answers']);
$_SESSION['question']="У мужа костюм в мелкую полоску.<br>Какую рубашку ему выберите?";
$_SESSION['answers']= "<input type=\"radio\" name=\"answer\" value=\"3\" >\n"
."В полоску<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"4\">\n"
."Однотонную<br>\n"
."<input type=\"radio\" name=\"answer\" value=\"2\">\n"
."Модную клетчатую в подходящей гамме </td>\n";
case 6:
if(isset($_SESSION['sum'])){
if($_SESSION['sum']>10&&$_SESSION['sum']<13) $res="Вы слишком самокритичны!";
if($_SESSION['sum']>14&&$_SESSION['sum']<17) $res="Самоуверенности у вас не отнять.";
if($_SESSION['sum']>18&&$_SESSION['sum']<20) $res="Не кажется ли вам, что вы немного более уверены в себе,чем следовало бы?";
echo $res;
exit();
}
}
print "<form action=\"\" method=\"post\">\n";
print "<table width=\"44%\" border=\"1\" cellspacing=\"1\" cellpadding=\"1\" height=\"165\">\n";
print " <tr> \n";
print " <td width=\"28%\">Вопрос №".$_SESSION['i']."</td>\n";
print " <td width=\"72%\">".$_SESSION['question']."</td>\n";
print " </tr>\n";
print " <tr> \n";
print " <td width=\"28%\" height=\"96\">Ответ</td>\n";
print " <td width=\"72%\" height=\"96\"> \n";
print $_SESSION['answers'];
print " </tr>\n";
print " <tr> \n";
print " <td colspan=\"2\" height=\"32\"> \n";
print " <div align=\"center\">\n";
print " <input type=\"submit\" name=\"ok\" value=\"Ответить\">\n";
print " </div>\n";
print " </td>\n";
print " </tr>\n";
print "</table>\n";
print "</form>\n";
?>
|
| |
| |
|
|
|