1

フォーム送信後に結果を表示する方法

フォームを印刷用に送信した後、表示結果が欲しい

例 1 つ目は、フォームに記入し、送信後に結果を送信します。画面に同じ結果を表示したい http://www.tizag.com/phpT/examples/formexample.php

どうすればこれを行うことができますか? この問題を解決するのを手伝ってください。

PHPフォームコード

<?php
     function renderForm($grn, $name, $rollno, $class, $fees, $date, $reference, $error)
     {
     ?>
     <?php 
     if ($error != '')
     {
     echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
     }
     ?> 
     <form action="" method="post">
     <div>
       <p><span class="style9"><strong>G.R.N No:</strong></span><strong>  *</strong>
         <input name="grn" type="text" id="grn" value="<?php echo $grn; ?>" size="50" />
       </p>
       <p><span class="style9"><strong>Name:</strong></span><strong>  *</strong>
         <input name="name" type="text" id="name" value="<?php echo $name; ?>" size="50" />
       </p>

       <p><span class="style9"><strong>Roll No :</strong></span><strong>  *</strong>
         <input name="rollno" type="text" id="rollno" value="<?php echo $rollno; ?>" size="50" />
       </p>
       <p><span class="style9"><strong>Class:</strong></span><strong>  *</strong>
         <input name="class" type="text" id="class" value="<?php echo $class; ?>" size="50" />
       </p>
        <p><span class="style9"><strong>Fees Date  :</strong></span><strong>  *</strong>
          <input id="fullDate"  name="date" type="text" value="<?php echo $date; ?>" size="50" />
       </p>
        <p><span class="style9"><strong>Fees :</strong></span><strong>  *</strong>
          <input name="fees" type="text" value="<?php echo $fees; ?>" size="50" />
       </p>
        <span class="style9"><strong>Reference</strong></span><strong> *</strong>
        <input name="reference" type="text" value="<?php echo $reference; ?>" size="50">
        <br/>
       <p class="style1">* required</p>
     <input type="submit" name="submit" value="Submit">
     </div>
     </form> 
     <?php 
     }
     include('connect-db.php');

     if (isset($_POST['submit']))
     { 
     // get form data, making sure it is valid
     $grn = mysql_real_escape_string(htmlspecialchars($_POST['grn']));
     $name = mysql_real_escape_string(htmlspecialchars($_POST['name']));
     $rollno = mysql_real_escape_string(htmlspecialchars($_POST['rollno']));
     $class = mysql_real_escape_string(htmlspecialchars($_POST['class']));
     $fees = mysql_real_escape_string(htmlspecialchars($_POST['fees']));
     $date = mysql_real_escape_string(htmlspecialchars($_POST['date']));
     $reference = mysql_real_escape_string(htmlspecialchars($_POST['reference']));


     // check to make sure both fields are entered
     if ($grn == '' || $name == '' || $rollno == '')
     {
     // generate error message
     $error = 'ERROR: Please fill in all required fields!';

     // if either field is blank, display the form again
     renderForm($grn, $name, $rollno, $class, $fees, $date, $reference, $error);
     }
     else
     {
     // save the data to the database
      mysql_query("INSERT fees SET grn='$grn', name='$name', rollno='$rollno', class='$class', fees='$fees', date='$date', reference='$reference'")
     or die(mysql_error()); 
     echo "<center>KeyWord Submitted!</center>";
     // once saved, redirect back to the view page

     }
     }
     else
     // if the form hasn't been submitted, display the form
     {
     renderForm('','','','','','','','');
     }

    ?>
4

3 に答える 3

0

フォームの「アクション」部分に新しいページを使用します。その新しいページで、表示したい値の $_POST を単純にエコーします。人々がエントリをチェックできるように何らかのページを作成する予定がある場合は、これらの $_POST データをセッションに保存できます。

于 2013-04-09T07:21:58.433 に答える
0

あなたが何を求めているのかよくわかりません。

送信されたフォーム データの表示についてヘルプが必要ですか? または印刷用のより具体的な表示?

htmlそれを表示するには、それを表示するページを作成するだけです。お気に入り:

echo '<table><tr>';
  echo '<td>';
    echo '<Strong>Name:</strong><br/>';
    echo $name;
  echo '</td>';
echo '</tr></table>';

フォームではなく結果のみを表示するには、同じページに投稿するときに for コードを if ステートメントでカプセル化する必要があります。

if(isset($_POST['submit'])) {
  //code for the php form
}else {
  //code to display form
}
于 2013-04-09T07:20:26.010 に答える