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 :: не удается передать данные в post

 PHP.SU

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


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

> Описание: в задании нужно получить данные из формы и передать в php файл для обработки. но передача не работает
ChertenoK_132
Отправлено: 04 Июня, 2017 - 18:24:55
Post Id


Новичок


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


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




в задании нужно получить данные из формы и передать в php файл для обработки. но передача не работает

form.phtml

<html>
<head>

</head>
<body>

<form method="POST" action="index.php" name="Pizzas">
<br>
Какую пиццу Вы хотите:<br>
<select name="PizzasName[]" size="1">
<?php
foreach (getAvaliablePizzas(APP_ROOT.DS.'pizzasList.txt') as $pizzasName){ ?>
<option value="<?php echo $pizzasName ?>">
<?php echo $pizzasName;
};?>
</option>
</select> <br> <br>

Выберите размер<br>
<?php
foreach (getAvaliablePizzas(APP_ROOT.DS.'pizzasSize.txt') as $pizzasSize){ ?>
<input type="radio" name="PizzasSize" value="<?php echo $pizzasSize ?>">
<?php echo $pizzasSize ?> <br>
<?php };?>

<br>
Дополнительные добавки / Сколько<br>
<?php
$component = getAvaliablePizzas(APP_ROOT.DS.'pizzasComponents.txt');
for($i=0; $i < count($component)-2; $i++){
$index = getComponent($component[$i]) ?>
<input type="checkbox" name="PizzasComponent" value="<?php echo $index['name'] ?>">
<?php echo $index['name'].', $'.$index['price'];?>
<input type="text" name="<?php echo $index['name'] ?>" size="1"> <br>
<?php };?>

<br><br>
<input type="submit" value="Отправить" />
</form>

</body>
</html>


index.php

<?php
define('APP_ROOT', dirname(__FILE__));
define('DS', DIRECTORY_SEPARATOR);

include APP_ROOT.DS.'function.php';

if (!empty($_POST)){
echo $_POST['PizzasName'];
} else {
include APP_ROOT.DS.'form.phtml';
}
 
 Top
arbuzmaster
Отправлено: 06 Июня, 2017 - 21:30:42
Post Id


Новичок


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


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




Печаль, беда, Вы создаёте массив в html
CODE (html):
скопировать код в буфер обмена
  1. <select name="PizzasName[]" size="1">


а выводите его как строку в php
Закатив глазки

попробуйте так


Если Вы хотите выбирать несколько значений то правильнее писать так
CODE (html):
скопировать код в буфер обмена
  1. <select multiple name="PizzasName[]">

(Отредактировано автором: 06 Июня, 2017 - 21:40:43)

 
 Top
LIME
Отправлено: 09 Июня, 2017 - 17:29:58
Post Id


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


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


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




Арбуз дело говорит
Добавлю только что не надо отключать ошибки
На продакшене надо а на девелопе ни в коем случае
http://phpfaq[dot]ru/debug
 
 Top
ChertenoK_132
Отправлено: 12 Июня, 2017 - 14:27:28
Post Id


Новичок


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


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




дело не в самом выводе а в том что программа всегда пишет что пост пуст
 
 Top
Vladimir Kheifets
Отправлено: 12 Июня, 2017 - 17:30:26
Post Id



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


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


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




ChertenoK_132 пишет:
дело не в самом выводе а в том что программа всегда пишет что пост пуст


Eсли в <select name="PizzasName[]" size="1">
name="PizzasName[]", то значение нужно выбирать из $_POST['PizzasName[]'];
но лучше переименовать "PizzasName[]" в "PizzasNames".

Чтобы увидеть, что передаётся распечатайте print_r($_POST);

Вообще-то если не передаются значения из формы, неплохо бы проверить все ли HTML тэги закрыты.
 
 Top
OrmaJever Модератор
Отправлено: 15 Июня, 2017 - 00:56:14
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Vladimir Kheifets пишет:
Eсли в <select name="PizzasName[]" size="1">
name="PizzasName[]", то значение нужно выбирать из $_POST['PizzasName[]'];

нет, из $_POST['PizzasName'][0]


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 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