簡體   English   中英

提交表單后重定向到另一個頁面

[英]Redirect on another page after form submission

我有4頁:register.php,view.php,edit.php和display.php在view.php上,我有一個表單,可以顯示數據庫中的所有數據。 我有一個搜索框,其結果顯示在display.php中(它僅顯示數據庫中的一行)。 在顯示PHP中,我有一個帶有編輯按鈕的表格。 編輯按鈕將我重定向到edit.php,我可以在其中更改數據。 當我保存時,它將我重定向到view.php上,但是我想在顯示php中保存已編輯條目的值。 我試過了,但是沒有用。 我在這里遇到的第二個問題是保留在edit.php中我在register.php中選擇的下拉選項

我是程序設計的新手,我希望有人可以幫助我解決這個問題。 THX尋求幫助。

我的頁面:

顯示

 <?php include('connect-db.php'); $client = $_POST['client']; $contract = $_POST['contract']; if( $contract = $_POST['contract'] ) {$query = "select * from users where contract = '$contract'"; } else{ $query= "select * from users where client = '$client'"; } $result = mysql_query($query); echo "<table>"; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { // echo out the contents of each row into a table echo '<label>Contract</label><input readonly="true" value=' . $row['contract'] . '>'; echo '<label>Client</label><input readonly="true" type="text" value="' . $row['client'] . '">'; echo '<label>Step</label><input type="text" readonly="true" value=' . $row['Step'] . '>'; echo '<br><a href="edit.php?contract=' . $row['contract'] . '"><input type="submit"value="Change"></a>'; echo '<br>'; echo "</table>"; } ?> 

編輯

  <?php function renderForm($contract, $client, $step { ?> <!DOCTYPE html> <body> <form id="base" name="base" method="post" action=""> <input data-validate="number" value="<?php echo $contract; ?>" readonly="true" id="contract"> <input data-validate="text" value="<?php echo $client; ?>" id="client"> <select name="step"> <option value="option1">Option1</option> <option value="option2">Option2</option> </select> <input type="submit" value="Change"> </form> </body> </html> <?php } include('connect-db.php'); if (isset($_POST['submit'])) { if (is_numeric($_POST['contract'])) { $contract = mysql_real_escape_string(htmlspecialchars($_POST['contract'])); $client = mysql_real_escape_string(htmlspecialchars($_POST['client'])); $step = mysql_real_escape_string(htmlspecialchars($_POST['step'])); if ($contract == '' || $client == '' ) { $error = 'ERROR: Please fill in all required fields!'; renderForm($contract, $client, $step, $error); } else { mysql_query("UPDATE users SET contract='$contract', client='$client', step='$step', WHERE contract='$contract'") or die(mysql_error()); header("Location: view.php"); } } else { echo 'Error!'; } } else { if (isset($_GET['contract']) && is_numeric($_GET['contract']) && $_GET['contract'] > 0) { $contract = $_GET['contract']; $result = mysql_query("SELECT * FROM users WHERE contract=$contract") or die(mysql_error()); $row = mysql_fetch_array($result); if($row) { $contract = $row['contract']; $client = $row['client']; $step = $row['step']; renderForm($contract, $client, $step, ''); } else { echo "No results!"; } } else { echo 'Error!'; } } ?> 

的PHP

 <!DOCTYPE html> <html> <?php include('connect-db.php'); $sql="SELECT * FROM users"; $result =mysql_query($sql); { ?> <table> <thead> <tr> <th span style="font-weight: normal;">Contrat</th> <th span style="font-weight: normal;">Client</th> <th span style="font-weight: normal;">Step</th> </tr> </thead> <?php } while ($data=mysql_fetch_assoc($result)){ ?> <tbody> <tr> <td><?php echo $data['contract'] ?></td> <td><?php echo $data['client'] ?></td> <td><?php echo $data['step'] ?></td> <td><a href="edit.php?contract=<?php echo $data['contract'] ?>"><input type="button" value="Change"></a></td> </tr> <?php } ?> </tbody> </table> </body> </html> 

注冊PHP

 <!DOCTYPE html> <html> <form id="base" method="post" action="insert.php"> <br> <br> <input data-validate="number" id="contract" name="contract"> <input data-validate="text" id="client" name="client"> <select name="step"> <option value="option1">OPTION1</option> <option value="option2">OPTION2</option> </select> <button data-validate="submit">Register</button> </form> </body> </html> 

use this instead of your edit.php    

 <?php

     function renderForm($contract, $client, $step
     {
     ?>
     <!DOCTYPE html>
     <body>
    <form id="base" name="base" method="post" action="">
        <input data-validate="number" value="<?php echo $contract; ?>" readonly="true" id="contract">
        <input data-validate="text"  value="<?php echo $client; ?>" id="client">
                          <select  name="step">
                            <option value="option1">Option1</option>
                            <option value="option2">Option2</option>
                          </select>
        <input type="submit" value="Change">
    </form>
    </body>
    </html>
            <?php
     }
     include('connect-db.php');
      if (isset($_POST['submit']))
     { 
     if (is_numeric($_POST['contract']))
     {
     $contract = mysql_real_escape_string(htmlspecialchars($_POST['contract']));
     $client = mysql_real_escape_string(htmlspecialchars($_POST['client']));
      $step = mysql_real_escape_string(htmlspecialchars($_POST['step']));
     if ($contract == '' || $client == '' )
     {
     $error = 'ERROR: Please fill in all required fields!';
     renderForm($contract, $client, $step, $error);
     }
     else
     {
     mysql_query("UPDATE users SET 
      contract='$contract', client='$client', step='$step', WHERE contract='$contract'")
     or die(mysql_error()); 
      header("Location:display.php"); 
     }
     }
     else
     {
     echo 'Error!';
     }
     }
     else
     {

     if (isset($_GET['contract']) && is_numeric($_GET['contract']) && $_GET['contract'] > 0)
     {
     $contract = $_GET['contract'];
     $result = mysql_query("SELECT * FROM users WHERE contract=$contract")
     or die(mysql_error()); 
     $row = mysql_fetch_array($result);
      if($row)
     {
    $contract = $row['baza_contract'];
    $client = $row['baza_client'];
    $step = $row['step'];
     renderForm($contract, $client, $step, '');
     }
     else
     {
     echo "No results!";
     }
     }
     else
     {
     echo 'Error!';
     }
     }
    ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM