Использование HTML-формы в функции PHP ISSET

#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, что может противоречить вашим требованиям.