好的伙计..
我有两页
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页。
现在我有两个问题
从上面复制,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中填充的值保留在表单字段中。
当用户转到第2页时,在提交表单后,第2页的网址就像这样......
现在的问题是,当我将值从36更改为任何数字(例如34或24)时,这些值将从db中拉出并显示在该位置上。如何通过更改url中的值来防止未经授权的DB值查看?
非常感谢所有帮助人员。
答案 0 :(得分:1)
在form1.php的顶部定义:
if(isset($GET['name']) && $GET['name'] != ""){
$name = $GET['name'];
}