php表单使用标题位置方法转移到第二页并返回

时间:2013-07-29 13:52:00

标签: php mysql

好的伙计..

我有两页

page1包含表单

<form id="Form1" name="Form1" method="post" action="form1.php">
    //form1.php is the page1 where this form is.. i have redirected to the
    same page because this page contains the php validation code <input
        type="text" class="input" name="txtName"
        value="<?php if(isset($name)){echo $name;} ?>"
        <?php if(isset($flag) && $flag == 1){echo "div style = 'border:2px solid red;'". "/div";}?>>
    <input type="submit" name="submit" value="Submit" class="button3">
</form>

我使用php header-location方法将数据发送到page2

php page1 code

if(NO ERRORS)) // in the form there is actual code
{
    // insert into database
    $result = mysql_query ( $insert );
    if ($result) {
        echo ("<br>Input data is succeed");
        $lastInsertedId = mysql_insert_id ();
        header ( 'Location:form1_conf.php?id=' . $lastInsertedId ); // form1_conf.php is the name of 2nd page
    } else {
        $message = "The data cannot be inserted.";
        $message .= "<br />" . mysql_error ();
    }
}

现在来了第2页

page2名称为form1_conf.php&amp;用于向用户显示表单数据,以便他可以检查表单是否有错误,如果有任何错误,他可以单击编辑并返回主表单(第1页)并重新输入数据并重新提交表单。

这是page2代码

这里我使用php从page1接收数据:

if (isset ( $_GET ['id'] )) {
    $lastInsertedId = $_GET ['id'];
}
$query = "SELECT * FROM db_purchase_form WHERE id=$lastInsertedId";
$result = mysql_query ( $query );
while ( $row = mysql_fetch_row ( $result ) ) {
    $name = $row [1];
}

以下是显示此内容的HTML代码

<div id="DisplayForm">
    <div class="dispText">
    <?php echo $name; ?>
    </div>
</div>

<a
    href="form1.php?id=<?php echo $lastInsertedId; ?>&name=<?php echo $name; ?>"
    class="button3">Edit</a>

现在当用户在第2页的“编辑”按钮上出现问题时,他将被带到第1页。

现在我有两个问题

  1. 当用户点击编辑并返回到page1时,名称字段是空的,而我已经使用php代码填充该名称字段中的数据。
  2. 从上面复制,form1 page1代码。

    <input type="text" class="input" name="txtName" value="<?php if(isset($name)){echo $name;} ?>"<?php if(isset($flag) && $flag == 1){echo "div style = 'border:2px solid red;'". "/div";}?>> 
    

    我怎样才能做到这一点?当用户点击编辑并返回到page1时,他可以看到他之前在该form1中填充的值保留在表单字段中。

    1. 当用户转到第2页时,在提交表单后,第2页的网址就像这样......

      http://mydomainnane.com/site1/form1_conf.php?id=36

    2. 现在的问题是,当我将值从36更改为任何数字(例如34或24)时,这些值将从db中拉出并显示在该位置上。如何通过更改url中的值来防止未经授权的DB值查看?

      非常感谢所有帮助人员。

1 个答案:

答案 0 :(得分:1)

在form1.php的顶部定义:

if(isset($GET['name']) && $GET['name'] != ""){
    $name = $GET['name'];    
}