Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 文件验证,保留文件位置_Php_File Upload_Image Uploading_Preserve - Fatal编程技术网

Php 文件验证,保留文件位置

Php 文件验证,保留文件位置,php,file-upload,image-uploading,preserve,Php,File Upload,Image Uploading,Preserve,我正在尝试为输入(sql插入)表单创建完整的验证页 我通常会做以下操作,以保留页面上已经输入的值,以防一次验证失败(在这种情况下,用户返回表单以更正错误) echo'value=“”; 如果(isset($_POST['NewGameName']){ echo$_POST['NewGameName']; }//用于文本字段 回显“.$i.”;//用于下拉列表 但是,如果刷新页面,我似乎找不到保存文件位置的方法。有什么方法可以做到这一点吗?我读到,出于安全原因,它总是被清除的,这会很烦人,但如果

我正在尝试为输入(sql插入)表单创建完整的验证页

我通常会做以下操作,以保留页面上已经输入的值,以防一次验证失败(在这种情况下,用户返回表单以更正错误)

echo'value=“”;
如果(isset($_POST['NewGameName']){
echo$_POST['NewGameName'];
}//用于文本字段
回显“.$i.”;//用于下拉列表

但是,如果刷新页面,我似乎找不到保存文件位置的方法。有什么方法可以做到这一点吗?我读到,出于安全原因,它总是被清除的,这会很烦人,但如果它是标准的,我想人们已经习惯了。你可以创建一个隐藏字段来存储文件名,并通过javasc更改名称在实际文件字段上使用onchange事件。 一旦文件名更改,就可以更新隐藏字段值。
您可以在post变量中获取隐藏字段的值,并使用此变量刷新文件字段的值。我认为您有两个选项

  • 就是使用Ajax进行验证,这样你就不会把表单和文件路径放在一起

  • 验证后使用javascript返回历史
    history。转到(-1)
    上一个屏幕。我认为在使用历史时,表单条目会被保留


  • 但是,这不仅仅是我想要的文件名,而是位置。因此,我不仅仅想要image.png,我想要user/documents/pictures/images/image.png,这样用户就不必再次找到图像(尽管我知道这只是单击链接并选择正确的图像的问题,因为“选择文件”按钮应该会记住图像所在的位置)。如果在其他地方出现不相关的错误时不需要再次选择图像,则只会减少错误。将正确的文件存储在临时保留区,并在表单上显示有关它们的详细信息。即,用户只需重新输入失败的文件。因此,如果我使用此文件作为文件位置,请移动\u上载\u文件($_文件['BackgroundUpload']['tmp_name'],'Pictures/'.mysqli_escape_字符串($dbc,trim($Title))。/BackgroundTMP.$backgroundEXT['extension']));如果已设置,我将如何将其应用于输入以保留位置?您不必再次保留和显示输入位置,因为文件已在服务器上。您只需向他们请求失败的文件。是的,但我不希望在某些内容失败时从输入中删除内容,以便只显示失败的元素ying,因此,我需要让文件被第二次上传覆盖,失败时需要第二次上传,或者,将文件指向第一次成功上传图像的文件夹。我问我如何做后一次。只需在表单上显示有效文件的详细信息,以便用户知道它们是什么。用上载文件的详细信息替换“文件输入”字段。如果他们想更改服务器上的文件,请为该文件提供“删除”按钮/复选框。
     echo 'value=" ';
     if(isset($_POST['NewGameName'])){ 
         echo $_POST['NewGameName']; 
     } // for text-fields
     echo '<option value="'.$i.'" ';
    
     if(isset($_POST['Score'])){ 
         if($i == $_POST['Score']){
             echo'selected="selected"';
         }
     }
    
     echo '>'.$i.'</option>'; // for dropdowns