需要帮助,
我正在为我的项目使用WAMP服务器。 我创建了一个photo_gallery.php页面,我上传并显示图像。当我在选择图像后点击上传按钮时,它会移动到loginform_php,我输入用户名&密码。 loginform.php
<form id='login' action='login.php' method='post' accept-charset='UTF-8'>
<fieldset >
<legend>Login</legend>
<input type='hidden' name='submitted' id='submitted' value='1'/>
<label for='username' >UserName*:</label>
<input type='text' name='username' id='username' maxlength="10" />
<label for='password' >Password*:</label>
<input type='password' name='password' id='password' maxlength="10" />
<input type='submit' name='Submit' value='Submit' />
</fieldset>
</form>
接下来,它移动到login.php,我隐含地存储了用户名和密码: 的login.php
<?php
$usr="root";
$pwd="root";
$username=$_POST['username'];
$password=$_POST['password'];
if(($username==$usr) && ($password==$pwd) )
{
header('Location: ./upload.php');
}
else
{
echo '<br>login unsuccessfull';
}
?>
验证后,它会重定向到upload.php,它应该处理上传过程但不成功并抛出错误。 upload.php的
$errors = array();
$uploadedFiles = array();
$extension = array("jpeg","jpg","png","gif","JPG","JPEG","GIF","PNG");
$bytes = 1024;
$KB = 100024;
$totalBytes = $bytes * $KB;
$UploadFolder = "./images";
$counter = 0;
foreach($_FILES["files"]["tmp_name"] as $key=>$tmp_name) //throws an error
{
$temp = $_FILES["files"]["tmp_name"][$key];
$name = $_FILES["files"]["name"][$key];
if(empty($temp))
{
break;
}
}
错误是:
PS:当我不进行验证,并在选择后直接上传照片时,upload.php工作正常并上传照片。
photo_gallery.php中的表格
<form action="./loginform.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="files[]" multiple="multiple" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
谢谢!
答案 0 :(得分:0)
当您从一个帖子表单重定向到另一个帖子表单时,之前的post / get变量将被清除。
当你通过post / get到表单提交login.php然后你的前一页发布变量($ _ POST,$ _ FILES等)将被清除。通过从login.php重定向到upload.php将发送空的$ _FILES对象。 你可以将$ _FILES对象保存在一个会话变量中,然后重定向到login.php(验证后),然后你可以通过login.php文件访问带有会话变量的upload.php中的这个。