php - PHP错误数组不起作用

标签 php arrays error-handling form-submit

我正在为申请人创建简历上传门户,但无法获取要上传的文件。通过其他测试,我认为问题是我的错误数组。当我故意创建错误(通过不输入申请人申请的职位)时,错误数组在刷新页面,提交后不显示错误。我找不到任何错误的类型,也不确定从这里去哪里。我认为新鲜的眼睛和经验将帮助我解决此问题。任何帮助将不胜感激!

表单提交页面:

    ?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'])) {

关于php - PHP错误数组不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30576071/

相关文章:

javascript - AJAX 中的 if else 语句成功

PHP/MySQL : Why is my query only returning the first row?

c# - 将输入添加到数组的构造函数

javascript - Json解码 “Trying to get property of non-object”错误

PHPSECLIB读取目录的总大小?

php - Dreamweaver CS6 View 包括

php - 使用 laravel 4.2 和 mailtrap 向电子邮件发送简单的消息

c - sizeof(数组)/sizeof(int)

iphone - 使用allKeys时应用崩溃,是因为只有一个对象吗?

error-handling - 如何将 libxml2 xmlParserErrors 代码转换为可打印字符串?