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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Перенаправление -> Вычисление -> Перенаправление
lawer85
Отправлено: 12 Апреля, 2013 - 23:45:50
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013  


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




Задача была такая. На 1 странице форма с 2 полями для цифр. После нажатия кнопки сабмит идет перенаправление на другую страницу, где цифры из этих полей складываются, снова идет перенаправление на первую страницу где выводится результат сложения.

Код первой страницы

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_POST["Отправить"])) {
  3. header("Location: second.php");
  4. }
  5. ?>
  6.  
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml">
  9. <head>
  10.         <title>Заголовок</title>
  11. </head>
  12. <body>
  13.  
  14. <?PHP
  15. echo $_GET['r'];
  16. ?>
  17.  
  18.         <form name="myform" action="second.php" method="POST">
  19.                 <table>
  20.                         <tr>
  21.                                 <td>Число 1:</td>
  22.                                 <td>
  23.                                         <input type="text" name="first" />
  24.                                 </td>
  25.                         </tr>  
  26.                         <tr>
  27.                                 <td>Число 2:</td>
  28.                                 <td>
  29.                                         <input type="text" name="second" />
  30.                                 </td>
  31.                         </tr>  
  32.                        
  33.                         <tr>
  34.                                 <td>
  35.                                         <input type="submit" value="Отправить" name="Отправить" />
  36.                                 </td>
  37.                         </tr>                          
  38.                 </table>
  39.         </form>
  40. </body>
  41. </html>



Код второй


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $a = $_POST["first"];
  3. $b = $_POST["second"];
  4. $result = $a + $b;
  5. header("Location: index.php?r=".urlencode($result)."");
  6. ?>

(Отредактировано автором: 12 Апреля, 2013 - 23:46:30)

 
 Top
caballero
Отправлено: 13 Апреля, 2013 - 00:41:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




и?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
lawer85
Отправлено: 13 Апреля, 2013 - 02:15:04
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013  


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




caballero пишет:
и?


Я так понимаю название темы не читал?
(Добавление)
Хотел услышать на сколько правилен и логичен код.
 
 Top
_Dark_
Отправлено: 13 Апреля, 2013 - 11:35:29
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


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

[+]


lawer85 пишет:
caballero пишет:
и?


Я так понимаю название темы не читал?
(Добавление)
Хотел услышать на сколько правилен и логичен код.

Ну я прочитал название темы, и что?
Бред какой-то, не понятно ни зачем перенаправлять, ни зачем складывать, ни что вообще нужно сделать.
 
 Top
voskan
Отправлено: 13 Апреля, 2013 - 15:12:55
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Нояб. 2010  


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




lawer85
интересно а если я текст ввиду то какой результат будет ? Улыбка)))))
 
 Top
_Dark_
Отправлено: 13 Апреля, 2013 - 15:49:11
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


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

[+]


voskan пишет:
интересно а если я текст ввиду то какой результат будет ?

Никаких ошибок PHP не будет.
 
 Top
LIME
Отправлено: 13 Апреля, 2013 - 15:58:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




результат будет "0"
 
 Top
alexiy
Отправлено: 13 Апреля, 2013 - 16:02:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


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




lawer85 так а в чем смысл делать сто раз перенаправление делать?
 
 Top
_Dark_
Отправлено: 13 Апреля, 2013 - 16:07:23
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


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

[+]


Вообще ничего не понятно, взглянул еще раз на код, action формы и так указан как second.php, первой переадресации просто не будет.

(Отредактировано автором: 13 Апреля, 2013 - 16:08:01)

 
 Top
LIME
Отправлено: 13 Апреля, 2013 - 16:09:07
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




да...первые 6 строк можно убрать и никто и не заметит
 
 Top
lawer85
Отправлено: 13 Апреля, 2013 - 21:27:17
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013  


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




Ну вот уже пошли замечания. Чего я и ждал Улыбка Сейчас буду смотреть что да как у меня там.
(Добавление)
Да действительно первые 6 строк вообще не нужны Улыбка Спасибо, что подсказали.
 
 Top
Avrelio
Отправлено: 13 Апреля, 2013 - 21:52:33
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Окт. 2011  


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

[+][+]


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $a = intval($_POST["first"]);
  4. $b = intval($_POST["second"]);
  5. $result = $a + $b;
  6. header("Location: index.php?r=".$result."");
  7. ?>
  8.  

передача идет string нужно ие перевести в integer для обработки если же ето числа с запятыми то в float также провести проверку точки или запятые для суммы иначе ошибка гарантирована способ функция str_replace
 
 Top
lawer85
Отправлено: 13 Апреля, 2013 - 21:53:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013  


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




И еще я правильно ведь понимаю, что эта строка передает данные методом GET в ЗАШИФРОВАННОМ виде?

 
 Top
LIME
Отправлено: 13 Апреля, 2013 - 21:56:14
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Avrelio пишет:
нужно ие перевести в integer
само переведется неявно при участии в математическом выражении
lawer85 пишет:
И еще я правильно ведь понимаю, что эта строка передает данные методом GET в ЗАШИФРОВАННОМ виде?
правильно...только непонятно нахрена шифровать цифры
 
 Top
lawer85
Отправлено: 13 Апреля, 2013 - 21:57:15
Post Id


Частый гость


Покинул форум
Сообщений всего: 189
Дата рег-ции: Янв. 2013  


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




Avrelio пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $a = intval($_POST["first"]);
  4. $b = intval($_POST["second"]);
  5. $result = $a + $b;
  6. header("Location: index.php?r=".$result."");
  7. ?>
  8.  

передача идет string нужно ие перевести в integer для обработки если же ето числа с запятыми то в float также провести проверку точки или запятые для суммы иначе ошибка гарантирована способ функция str_replace


Спасибо за замечания, просто я не задавался на столько точной проверкой, я ведь знал что ввожу цифры. Для меня в этом задании было важно другое.
(Добавление)
LIME пишет:
Avrelio пишет:
нужно ие перевести в integer
само переведется неявно при участии в математическом выражении
lawer85 пишет:
И еще я правильно ведь понимаю, что эта строка передает данные методом GET в ЗАШИФРОВАННОМ виде?
правильно...только непонятно нахрена шифровать цифры



Т.е. это извращение ? Улыбка НУ при передаче данных методом GET ведь желательно все шифровать. Просто я в этом еще особо не шарю.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB