php 错误数组不工作
php error array not working
我正在为申请人创建一个简历上传门户,但无法获取要上传的文件。通过额外的测试,我相信问题出在我的错误数组上。当我故意制造错误时(通过不输入应聘者申请的职位)刷新页面后错误数组不显示错误,post 提交。我找不到任何错误类型,也不确定从这里去哪里。我认为新鲜的眼光和经验将帮助我解决这个问题。任何帮助将不胜感激!
表单提交页面:
?php require_once("CareerFunctions.inc");
$Server= "http://localhost/";
?>
<!doctype html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript" src="register.js"></script>
<script src='https://www.google.com/recaptcha/api.js'></script>
<link rel="stylesheet" type="text/css" href="form.css"></link>
<title>Career Registration</title>
</head>
<body>
Please upload your resume or skip this page and enter it manually.
<br>
<br>
<form action="resumeupload.php" method="post"
enctype="multipart/form-data">
<div>
Select file to upload(Only pdf, Microsoft Office, & Open Office documents are allowed):
<br>
<br>
<div id="ErrorDiv">
<?php
if (isset($_SESSION['Error']) && isset($_SESSION['FormAttempt'])){
unset($_SESSION['FormAttempt']);
print "Errors Encountered";}
if (isset ($_SESSION['Error']) && is_array($_SESSION['Error']) && $_SESSION['Error']!==""){
foreach ($_SESSION['Error'] as $Error)
{
echo "<br>\n" .$Error;
} //end foreach
} //end if
?>
</div>
<br><br>
<input type="file" id="Upload" name="Upload">
<br>
<br>
Position you are applying for:
<br>
<br>
<input type="text" id="Position" name="Position">
<br>
<br>
<input type="hidden" name="MAX_FILE_SIZE" value="350000">
</div>
<input type="submit" value="Submit" name="submit" >
<br>
<br>
</div>
<a href="<?php echo $Server?>CareerRegisterManualResume.php">Skip</a>
<br>
<div>
</form>
</body>
</html>
表单处理页面(我只包含了错误生成部分):
<?php
require_once('CareerFunctions.inc');
if (!isset($_POST['Submit'])) {
die(header("Location:CareerRegisterResume.php"));
$_SESSION['FormAttempt'] = true;
if (isset($_SESSION['Error'])) {
unset($_SESSION['Error']);
}
}
$_SESSION['Error']= array();
if (!preg_match('/\.pdf$/i',$_FILES['Upload']['type']) ||
!preg_match('/\.doc$/i',$_FILES['Upload']['type']) ||
!preg_match('/\.docx$/i', $_FILES['Upload']['type'])||
!preg_match('/\.odt$/i',$_FILES['Upload']['type']))
{$_SESSION['Error'][] = "File type must be a pdf (.pdf), Microsoft Office (.doc or .docx), or Open Office (.odt)";
}
if ($_FILES['Upload']['size'] > '350000')
{$_SESSION['Error'][] = "File is too large for upload!";}
if ($_FILES['Upload']['size'] == '0' || $_FILES['Upload']['size'] = '' || !isset($_FILES['Upload']['size']))
{$_SESSION['Error'][] = "Please select a file for upload";}
if ($_POST['Position']= '' || !isset($_POST['Position']))
{$_SESSION['Error'][]= "Please enter the position you are applying for.";}
if (isset($_FILES['Upload']['error']) && $_FILES['Upload']['error'] > '0' || $_FILES['Upload']['error'] !== '')
{$_SESSION['Error'][]= "There was an issue uploading the file to the server";}
if (count($_SESSION['Error']) > '0')
{die(header("Location: CareerRegisterResume.php"));}
if(UploadResume($_POST)) {
die(header("Location: ApplySuccess.php"));}
else {
error_log("Problem uploading resume: {$_FILES['Upload']['name']}");
$_SESSION['Error'][] = "Problem Uploading Resume";
die(header("Location: CareerRegisterResume.php"));
}
改变
if (!isset($_POST['Submit'])) {
至
if (!isset($_POST['submit'])) {
我正在为申请人创建一个简历上传门户,但无法获取要上传的文件。通过额外的测试,我相信问题出在我的错误数组上。当我故意制造错误时(通过不输入应聘者申请的职位)刷新页面后错误数组不显示错误,post 提交。我找不到任何错误类型,也不确定从这里去哪里。我认为新鲜的眼光和经验将帮助我解决这个问题。任何帮助将不胜感激!
表单提交页面:
?php require_once("CareerFunctions.inc");
$Server= "http://localhost/";
?>
<!doctype html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript" src="register.js"></script>
<script src='https://www.google.com/recaptcha/api.js'></script>
<link rel="stylesheet" type="text/css" href="form.css"></link>
<title>Career Registration</title>
</head>
<body>
Please upload your resume or skip this page and enter it manually.
<br>
<br>
<form action="resumeupload.php" method="post"
enctype="multipart/form-data">
<div>
Select file to upload(Only pdf, Microsoft Office, & Open Office documents are allowed):
<br>
<br>
<div id="ErrorDiv">
<?php
if (isset($_SESSION['Error']) && isset($_SESSION['FormAttempt'])){
unset($_SESSION['FormAttempt']);
print "Errors Encountered";}
if (isset ($_SESSION['Error']) && is_array($_SESSION['Error']) && $_SESSION['Error']!==""){
foreach ($_SESSION['Error'] as $Error)
{
echo "<br>\n" .$Error;
} //end foreach
} //end if
?>
</div>
<br><br>
<input type="file" id="Upload" name="Upload">
<br>
<br>
Position you are applying for:
<br>
<br>
<input type="text" id="Position" name="Position">
<br>
<br>
<input type="hidden" name="MAX_FILE_SIZE" value="350000">
</div>
<input type="submit" value="Submit" name="submit" >
<br>
<br>
</div>
<a href="<?php echo $Server?>CareerRegisterManualResume.php">Skip</a>
<br>
<div>
</form>
</body>
</html>
表单处理页面(我只包含了错误生成部分):
<?php
require_once('CareerFunctions.inc');
if (!isset($_POST['Submit'])) {
die(header("Location:CareerRegisterResume.php"));
$_SESSION['FormAttempt'] = true;
if (isset($_SESSION['Error'])) {
unset($_SESSION['Error']);
}
}
$_SESSION['Error']= array();
if (!preg_match('/\.pdf$/i',$_FILES['Upload']['type']) ||
!preg_match('/\.doc$/i',$_FILES['Upload']['type']) ||
!preg_match('/\.docx$/i', $_FILES['Upload']['type'])||
!preg_match('/\.odt$/i',$_FILES['Upload']['type']))
{$_SESSION['Error'][] = "File type must be a pdf (.pdf), Microsoft Office (.doc or .docx), or Open Office (.odt)";
}
if ($_FILES['Upload']['size'] > '350000')
{$_SESSION['Error'][] = "File is too large for upload!";}
if ($_FILES['Upload']['size'] == '0' || $_FILES['Upload']['size'] = '' || !isset($_FILES['Upload']['size']))
{$_SESSION['Error'][] = "Please select a file for upload";}
if ($_POST['Position']= '' || !isset($_POST['Position']))
{$_SESSION['Error'][]= "Please enter the position you are applying for.";}
if (isset($_FILES['Upload']['error']) && $_FILES['Upload']['error'] > '0' || $_FILES['Upload']['error'] !== '')
{$_SESSION['Error'][]= "There was an issue uploading the file to the server";}
if (count($_SESSION['Error']) > '0')
{die(header("Location: CareerRegisterResume.php"));}
if(UploadResume($_POST)) {
die(header("Location: ApplySuccess.php"));}
else {
error_log("Problem uploading resume: {$_FILES['Upload']['name']}");
$_SESSION['Error'][] = "Problem Uploading Resume";
die(header("Location: CareerRegisterResume.php"));
}
改变
if (!isset($_POST['Submit'])) {
至
if (!isset($_POST['submit'])) {