Бьюсь об заклад, вы ENTER
(ing) два раза, потому что вы ожидаете, что курсор переместится на следующую строку в консоли, что не произойдет с Scanner#next
.
Просто переключитесь с next()
на nextLine()
.
Также помните, что вы не можете добавлять пробелы перед фактическим числом при использовании nextDouble()
.
Ваши элементы ввода не имеют атрибутов имени. Должно быть:
<input type="text" id="login_email" name="login_email" />
Если элемент ввода не имеет атрибута name, он не отправляется как часть данных POST.
Что ж, у вас нет действия для тега формы? Это должно быть имя сценария:
<form method="post" action="scriptname.php">
... и вы также не устанавливаете имена для каждого ввода формы - браузер не отправляет идентификатор в качестве имени элемента.
<form method="POST" action="<?php echo $PHP_SELF; ?>
<p><label>Email: </label>
<input type="text" name="login_email" />
</p>
<p><label>Password: </label>
<input type="password" name="login_password" />
</p>
<p><label>Remember Me?: </label>
<input type="checkbox" name="login_remember" />
</p>
<p>
<input type="submit" value="Login" />
</p>
</form>
Все ваши входные элементы нуждаются в атрибуте имени.
Я предлагаю вам написать что-то вроде следующих функций на основе помощников Zend_View.
formText($name, $value = null, array $attribs = null)
formPassword($name, $value = null, array $attribs = null)
formLabel($id, $text, array $attribs = null)
formHidden($name, $value = null, array $attribs = null)
formSubmit($name = null, $text = null, array $attribs = null)
formSelect($name, $selected, array $attribs = null, array $options = null)
formCheckbox($name, $default, array $attribs = null, array $options = null)
Тогда вы никогда больше не забудете / не пропустите что-то подобное.
<form method="POST" action="<?php echo $PHP_SELF; ?>
<p>
<?php
echo formLabel('login_email', 'Email'), ':',
formText('login_email');
?>
</p>
<p>
<?php
echo formLabel('login_password', 'Password'), ':',
formPassword('login_password');
?>
</p>
<p>
<?php
echo formCheckbox('login_remember'), ' ',
formLabel('login_remember', 'Remember me');
?>
</p>
<p>
<?php
echo formSubmit(null, 'Login');
?>
</p>
</form>
Совет:
Вы забыли атрибуты имени, необходимые для работы вашего скрипта. Вы также можете включить тег «for» в свои ярлыки, чтобы он соответствовал атрибутам имен вашего ввода. Это не является требованием, но может помочь с форматированием вашей формы CSS:
<p>
<label for="login_email">Email: </label>
<input type="text" name="login_email" id="login_email" />
</p>
Помогает согласовать все и сделать ваш код более оптимизированным и читаемым, если вам придется вернуться к нему через 6 месяцев. Атрибут action, если вы не собираетесь его заполнять, я бы включил в качестве вашего действия:
<form method="POST" action="<?php echo $PHP_SELF; ?>
Это обеспечит соответствие вашей страницы требованиям формы и выполнению сценария. Похоже на простой недосмотр. Надеюсь, это поможет.