Почти одинаковые HTML-формы, одно сообщение правильное значение, другое нет

Две мои формы на моей странице welcome.php выглядят так:

<form action="welcomeforms.php" method="post" name="Food_Calories">
<h4>.</h4>//spacer
<input type="text" name="breakfast_calories" value="Calorie Amount" onFocus="this.value=''"><br>
<input type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;">
</form><form action="welcomeforms.php" method="post" name="Foods">
<h4>Breakfast</h4>
<input type="text" name="breakfast" value="Add new breakfast item" onFocus="this.value=''"><br>
<input type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;">
</form>

Это код на welcomeforms.php:

if(isset($_POST['breakfast'])){$breakfastitem = $_POST['breakfast'];}
if(isset($_POST['breakfast_calories'])){$breakfastcals = $_POST['breakfast_calories'];}
echo $breakfastitem;
echo $breakfastcals;

Формы правильно отображаются на веб-странице, и когда я ввожу значения «хлеб» в форму для завтрака и «100» в форму для завтрака, это то, что возвращается на веб-странице:

Undefined variable: breakfastitem in C:\wamp\www\welcomeforms.php on line 26
100

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

Спасибо за любой совет

0

Решение

Вы используете две отдельные формы, и вы можете отправить только одну за один раз. Объедините их в одну.

Также вместо value="Add new breakfast item" onFocus="this.value=''" просто используйте placeholder = "Add new breakfast item" — он будет делать то, что вы намереваетесь получить в современных браузерах — см. поддержку: http://www.html5rocks.com/en/tutorials/forms/html5forms/#toc-other-form-attr

0

Другие решения

Потому что он отправляет только одну форму за раз, поэтому он получает только значение из одной формы.

0

По вопросам рекламы [email protected]