Проблема с отправкой формы PHP

Это то, что я пытаюсь сделать здесь.

  1. У меня есть html-форма для сбора данных от пользователей
  2. Отображение вывода на текстовом поле после отправки формы
  3. Две кнопки для обработки содержимого текстовой области: – одна для загрузки содержимого в виде текстового файла, вторая для отправки содержимого textarea по электронной почте с использованием php

Здесь текстовое поле вывода завершено с output-main div, и я не хочу отображать этот div перед отправкой формы.

Теперь мой код HTML:

 <div class="emcsaninfo-symcli-main"> <form id="main" name="main" action="#text" method="post" > <div class="block-with-text-area"> <div class="input-quest-with-text-area">Device List</div> <div class="input-resp-with-text-area"><span><textarea class="textarea" name="devs" ></textarea></span></div> </div> <div id="devseq" > <div class="block"> <div class="input-quest">Starting Device</div> <div class="input-resp"><span><input class="textbox" id="sdev" name="sdev" type="text" size="5" maxlength="5" value="<?php if(isset($_POST['sdev'])) { echo htmlentities ($_POST['sdev']); }?>" /></span> </div> </div> </div> <div id="metamemcnt" > <div class="block"> <div class="input-quest">Meta member count(Excluding Meta Head)</div> <div class="input-resp"><span><input class="textbox" id="mem_count" name="mem_count" type="text" size="5" maxlength="3" value="<?php if(isset($_POST['mem_count'])) { echo htmlentities ($_POST['mem_count']); }?>" /></span></div> </div> </div> <div id="metacnt" > <div class="block"> <div class="input-quest">How many Meta Devices</div> <div class="input-resp"><span><input class="textbox" id="meta_count" name="meta_count" type="text" size="5" maxlength="3" value="<?php if(isset($_POST['meta_count'])) { echo htmlentities ($_POST['meta_count']); }?>" /></span></div> </div> </div> <div class="submit-clear"> <input id="generate" type="submit" name="script" value="create my cli script" /> <input type="submit" id="clear" name="clear" value="clear" /> </div> </form> </div> 

Так как я не хочу отображать область вывода перед отправкой формы, и я сначала проверяю, вводит ли пользователь данные в поле формы, и если да, то создание выходного div

PHP-код ниже

 <?php if((!empty($_POST['sdev']) && !empty($_POST['mem_count']) && !empty($_POST['meta_count'])) || !empty($_POST['devs']) ){ ?> <div id="output-main"> <?php echo '<form action=" " method="post">'; echo '<textarea onclick="this.select()" name="output_textarea" id="output_textarea" cols="100" rows="25" readonly>'; //other PHP Codes here echo '</textarea>'; ?> </div> <?php echo '<input type="submit" id="download" value="submit" name="submit"></input>'; echo '<input class="textbox" type="text" id="email-box" name="email-box" value="Enter Your Email ID here">'; echo '<input type="submit" id="download1" value="submit2" name="submit2"></input>'; if($_POST['submit2'] == 'submit2') { $to = $_POST['email-box'] ; $message = $_REQUEST['output_textarea']; $subject = 'form meta cli script'; $headers = "From: info@domain.com\r\n"; $headers .= "Reply-To: me@domain.com\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/plain; charset=ISO-8859-1\r\n"; mail($to, $subject, $message, $headers); echo 'message sent successfully'; } } ?> 

Проблема, с которой я столкнулся:

Я могу загрузить контент в формате txt, но когда я пытаюсь отправить контент по электронной почте, он не работает, он просто очищает раздел output div .

Но если я удалю первое условие PHP, то есть,

 <?php if((!empty($_POST['sdev']) && !empty($_POST['mem_count']) && !empty($_POST['meta_count'])) || !empty($_POST['devs']) ){ ?> 

Функция загрузки и электронной почты работает отлично. Но в то время я не могу скрыть раздел output div до формы submit.

Я не понимаю, что здесь происходит.

я добавил

  value="<?php if(isset($_POST['sdev'])) { echo htmlentities ($_POST['sdev']); }?>" 

чтобы пользователь вводил данные в свое поле после отправки формы. BUt, когда я нажимаю кнопку электронной почты, очищает эти поля (кнопка загрузки работает нормально и сохраняет данные в поле после нажатия кнопок загрузки)