Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с формами и сессиями

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Задание
vfb
Отправлено: 27 Мая, 2017 - 23:53:18
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




Как написать код с помощью сессий
сначала пользователь( вводит имя и фамилию)
потом вводит количество цифр,которые он хочет ввести
и последовательно вводит действительные числа
и выводиться их сумма и имя пользователя
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(!isset($_POST['name']))
  3. {
  4. ?>
  5. <form action="task5.php" method="post">
  6.  <p>Ваше имя: <input type="text" name="name" /></p>
  7.  <p>Вашу фамилию: <input type="text" name="surname" /></p>
  8.  <p><input type="submit" /></p>
  9. </form>
  10. <?PHP
  11. }
  12. else
  13. {  if(!isset($_POST['number']))
  14.     {
  15.     $_session['name']=$_POST['name'];
  16.     $_session['surname']=$_POST['surname'];
  17.     ?>
  18.  <form action="task5.php" method="post">
  19.  <p>Введите число: <input type="text" name="number" /></p>
  20.   <p><input type="submit" /></p>
  21. </form>
  22. <?PHP
  23.    }
  24. else{
  25.   $_SESSION['number']=$_POST['number'];
  26.    $sum=0;
  27.   $i=0;
  28.   if($i<$_SESSION['number'])
  29.   {   if(!isset($_POST[$i]))
  30.     {
  31. ?>
  32.  
  33.  <form action="task5.php" method="post">
  34.  <p>Введите число <?PHP echo $i ?>: <input type="text" name="<?PHP echo $i?>" /></p>
  35.   <p><input type="submit" /></p>
  36. </form>
  37. <?PHP
  38.   $i++;
  39.     }
  40.     else{
  41.         $_SESSION[$i]=$_POST[$i];
  42.         $sum+=$_SESSION[$i];
  43.        
  44.     }
  45. }
  46. else{
  47.     echo $sum;
  48. }
  49. }
  50. }
  51. ?>
 
 Top
Vladimir Kheifets
Отправлено: 28 Мая, 2017 - 08:05:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




Добрый день! Для начала не плохо было бы заменить
$_session['name']=$_POST['name'];
$_session['surname']=$_POST['surname'];

$_SESSION['name']=$_POST['name'];
$_SESSION['surname']=$_POST['surname'];

Затем, проверить в установках PHP как передаётся SESSIONID.
Если переменные сессии не передаются в task5.php, то Вам нужно,
в этом скрипте добавить после
session_start();
$sid=session_id();
и в action добавить $sid
<form action="task5.php?sid=<?=$sid;?>" method="post">

В task5.php нужно в начале поставить:
$sid=$_GET['sid'] ;
session_start($sid);
 
 Top
vfb
Отправлено: 28 Мая, 2017 - 08:50:05
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




как то так?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $sid=SESSION_ID();
  3. if(!isset($_POST['name']))
  4. {
  5. ?>
  6. <form action="task5.php?sid=<?=$sid;?>" method="post">
  7.  <p>Ваше имя: <input type="text" name="name" /></p>
  8.  <p>Вашу фамилию: <input type="text" name="surname" /></p>
  9.  <p><input type="submit" /></p>
  10. </form>
  11. <?PHP
  12. }
  13. else
  14. {    $sid=$_GET['sid'] ;
  15.       SESSION_start($sid);
  16.         if(!isset($_POST['number']))
  17.         {
  18.         $_SESSION['name']=$_POST['name'];
  19.         $_SESSION['surname']=$_POST['surname'];
  20.         ?>
  21.  <form action="task5.php" method="post">
  22.  <p>Введите число: <input type="text" name="number" /></p>
  23.   <p><input type="submit" /></p>
  24. </form>
  25. <?PHP
  26.    }
  27.    else{  
  28.   $_SESSION['number']=$_POST['number'];
  29.   echo"jj";
  30.   $sum=0;
  31.   $i=1;
  32.   if($i<=$_POST['number'])
  33.   {   if(!isset($_POST[$i]))
  34.         {
  35. ?>
  36.  
  37.  <form action="task5.php" method="post">
  38.  <p>Введите число <?PHP echo $i ?>: <input type="text" name="<?PHP echo $i?>" /></p>
  39.   <p><input type="submit" /></p>
  40. </form>
  41. <?PHP
  42.   $i++;
  43.         }
  44.         else{
  45.                 $_SESSION[$i]=$_POST[$i];
  46.                 $sum+=$_SESSION[$i];
  47.        
  48.         }
  49. }
  50. else{
  51.         echo $sum;
  52.     }
  53.   }
  54. }
  55. ?>
 
 Top
Vladimir Kheifets
Отправлено: 28 Мая, 2017 - 11:06:02
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




да, как так
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB