在我的创建页面中,我正在使用一个或多个文件上传文本框,选择框,文本框内的表格,填写所有表格数据并提交后,我将进行服务器验证然后插入数据库... 在插入db之前,如果服务器验证失败,填充的数据会丢失,是否有任何简单的方法可以防止数据丢失?
对于选择和文本框,我们可以传递$_POST
但对于文件上传文本框,如何防止数据丢失?我们可以在会话中存储吗?
提前致谢..
答案 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目录。
另一种选择是在最后一步中以步骤(页面)和文件上传选项显示您的表单,以便用户在所有验证后到达文件上载部分,您可以在最后一步进行文件上载验证步骤