在php中验证服务器后如何避免数据丢失?

时间:2012-07-03 09:40:32

标签: php html forms

在我的创建页面中,我正在使用一个或多个文件上传文本框,选择框,文本框内的表格,填写所有表格数据并提交后,我将进行服务器验证然后插入数据库... 在插入db之前,如果服务器验证失败,填充的数据会丢失,是否有任何简单的方法可以防止数据丢失?

对于选择和文本框,我们可以传递$_POST

的值

但对于文件上传文本框,如何防止数据丢失?我们可以在会话中存储吗?

提前致谢..

3 个答案:

答案 0 :(得分:1)

你可以使用一些变量来存储数据,然后你可以执行验证

我正在举一个php验证的例子

<?php
  if(isset($_POST['submit'])){
    $name = $_POST['name'];  //
    // and some other data input
    and goes the validation part

?>

<form ... >
<input type="text" name="name" value="<?php if(isset($name)) echo $name; ?>"
</form>
好吧..这必须有效.. 你可能会找到其他更好的方法..但这也可行

答案 1 :(得分:1)

据我所知,您无法像其他表单元素一样维护文件上传值。

如果您仍想维护$ _FILES值。你可以参加会议。

$_SESSION['imagename'] = $_FILES['image']['name'];
$_SESSION['imagetmp']  = $_FILES['image']['tmp_name'];

答案 2 :(得分:0)

您可以将数据保存在变量中并在以后填充,但type =“file”输入字段除外。如果文件可以预先填充(或者说没有用户权限选择)并且浏览器不允许这样做,那将是一个安全问题。

一个选项是将文件保存在服务器中的任何临时文件夹中,如果验证工作正常,请将其移至uploads目录。

另一种选择是在最后一步中以步骤(页面)和文件上传选项显示您的表单,以便用户在所有验证后到达文件上载部分,您可以在最后一步进行文件上载验证步骤