Кнопка "Отправить" не появится

ОБНОВЛЕНИЕ: вот мой код. Кнопки загрузки теперь появляются, но код печатает закрывающий тег формы вместо того, чтобы идентифицировать его как закрывающий тег. Как я могу это исправить? Пожалуйста помоги. Заранее спасибо!!

<HTML>
<HEAD>
    <meta charset="utf-8">
    <link rel="stylesheet" href="css/style2.css">
    <TITLE>SAE Report</TITLE>
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
   $().ready(function() {
     $(".datepicker").datepicker({dateFormat:'yy-mm-dd'});
   });
</script>

</HEAD>
<BODY>
<center>
<h1>SAE Report</h1>
</center>
 <form action = "" method = "post">
 <label>Report Type</label>
    <select id="report" name="report">
        <option value="none"></option>
        <option value="new">New SAEs Report</option>
        <option value="cumulative">Cumulative SAE Report</option>
    </select>
 <label>Start Date</label><input type="text" class="datepicker" name="start">
 <label>End Date</label><input type="text" class="datepicker" name="end">
 <input type="submit" name="submit" value="Submit">
 </form>
</BODY>

 <?php
 $type='';
 $start='';
 $end='';

  if (isset($_POST['submit'])){

    $type=$_POST['report'];
    $start=$_POST['start'];
    $end=$_POST['end'];

    if ($type=="cumulative"){
        echo "<form action='cumulativeRptExcel.php' method='post' name ='xls'>";
        echo "<input type='submit' name='submitXLS' value='Download Excel'/>";
        echo "/form><br>";
        echo "<form action='cumulativeRptPDF.php' method='post' name ='xls'>";
        echo "<input type='submit' name='submitXLS' value='Download PDF'/>";
        echo "/form><br>";
    }
    elseif($type=='new' and $start!='' and $end!=''){
        echo "<form action='newRptExcel.php' method='post' name ='xls'>";
        echo "<input type='submit' name='submitXLS' value='Download Excel'/>";
        echo "/form><br>";
        echo "<form action='newRptPDF.php' method='post' name ='xls'>";
        echo "<input type='submit' name='submitXLS' value='Download PDF'/>";
        echo "/form><br>";
    }
    elseif($type="new" and ($start=='' or $end=='')){
        echo "You need to select START and END date for the report";
    }   

}


?>

The report.php files contains the code to generate the excel or pdf file and make it downloadable to the user. When running those files by themselves it generates the files just fine.


person Samara Galvão    schedule 09.01.2017    source источник
comment
Возможный дубликат Использование if( isset($_POST['submit'])) чтобы не отображать эхо, когда скрипт открыт, не работает (вы должны указать имя для отправки, чтобы оно было доступно, используя $_POST)   -  person JNevill    schedule 09.01.2017
comment
Здесь он обновил код. Но теперь php печатает закрывающий тег формы (/form›) вместо того, чтобы идентифицировать его как закрывающий тег.   -  person Samara Galvão    schedule 09.01.2017
comment
Это отличная новость, что оператор if теперь работает правильно. Проблема /form> заключается в том, что вам не хватает < в вашем html. echo "/form><br>"; должно быть echo "</form><br>";   -  person JNevill    schedule 09.01.2017


Ответы (2)


Он печатает /form>, потому что из ваших кодов вы просили его напечатать именно это. Вы повторили "/form><br>"; вместо "</form><br>"; в каждой строке, которую я вижу. Просто добавьте <, чтобы исправить это

person Neville    schedule 09.01.2017

Измените кнопку отправки с:

 <input type="submit" value="Submit">

to

 <input type="submit" name="submit" value="Submit">

Причина этого в том, что переменная $_POST будет содержать только те элементы, которые имели имя внутри предыдущей формы. В вашем примере кнопка отправки не имеет имени.

person Jose Garrido    schedule 09.01.2017
comment
Оч красиво, спасибо!! Кнопки отображаются, но теперь он печатает на экране закрывающий тег формы вместо того, чтобы идентифицировать его как закрывающий тег. Как я могу это исправить? - person Samara Galvão; 09.01.2017
comment
Заменить эхо /form›‹br›; для эха ‹/form›‹br›; Вам не хватает закрывающего тега - person Jose Garrido; 09.01.2017