#php #html #isset
#php #HTML #isset
Вопрос:
У меня есть форма предложения, в которой пользователь заполняет поля, нажимает кнопку Отправить, и функция isset проверяет, установлена ли она, прежде чем возвращать предложение.
<?php
if (isset($_POST['submit'])) {
$total = $_POST['ssize'] $_POST['condition'] $_POST['opticalDrive'];
?> Price is <?php echo $total;
}
?>
Это предложение появляется только после нажатия кнопки отправки.
Если пользователь желает принять цитату, я также хочу, чтобы форма отображалась с этой цитатой. Но я не могу понять, как включить HTML-форму в этот PHP, чтобы она отображалась вместе с ним после кнопки отправки.
Это пример моей формы:
<form method="post">
First Name: <input type="text" name="fname" />
Surname: <input type="text" name="sname" />
E-Mail Address: <input type="text" name="email" />
House Number: <input type="text" name="HouseNo" />
Street Name: <input type="text" name="Street" />
Town/City: <input type="text" name="towncity" />
Post Code: <input type="text" name="Postcode" />
</form>
Итак, как я могу объединить их оба, чтобы они появлялись одновременно после кнопки отправки?
Ответ №1:
Вы просто помещаете свой HTML-код в предложение IF. Если я правильно понял ваш вопрос..
<?php
if (isset($_POST['submit']))
{
$total = (int)$_POST['ssize'] (int)$_POST['condition'] (int)$_POST['opticalDrive'];
?>
Price is : <?php echo $total; ?>
<form method="post" action="scriptforthisform.php">
<fieldset>
<legend></legend>
First Name: <input type="text" name="fname" value=""/>
Surname: <input type="text" name="sname" value="" />
E-Mail Address: <input type="text" name="email" value=""/>
House Number: <input type="text" name="HouseNo" value=""/>
Street Name: <input type="text" name="Street" value=""/>
Town/City: <input type="text" name="towncity" value=""/>
Post Code: <input type="text" name="Postcode" value=""/>
<input type="submit" value="send" name="submit_quote" />
</fieldset>
</form>
<?php
}
?>
Комментарии:
1. Большое вам обоим спасибо. Похоже, это решило проблему, Дэмиен. Спасибо
Ответ №2:
В вашем вопросе это не указано явно, но я думаю, вы подразумеваете, что страница подчиняется самой себе (я бы включил пустой action
атрибут, чтобы не было двусмысленности, если это так). Вот что вы можете сделать:
<?php
if (isset($_POST['submit'])) {
$total = $_POST['ssize'] $_POST['condition'] $_POST['opticalDrive'];
echo('Price is ' . $total . '<br>');
// Include markup for your form here
?>
<form method="post" action = "action.php">
First Name: <input type="text" name="fname" />
Surname: <input type="text" name="sname" />
E-Mail Address: <input type="text" name="email" />
House Number: <input type="text" name="HouseNo" />
Street Name: <input type="text" name="Street" />
Town/City: <input type="text" name="towncity" />
Post Code: <input type="text" name="Postcode" />
<input type = 'submit' name = 'submit' value = 'Submit'/>
</form>
}
?>
Альтернативой было бы иметь вычисленную общую сумму на стороне клиента и добавить общую сумму в форму из JavaScript. Для этого посетителю потребуется включить JavaScript, что может противоречить вашим требованиям.