PHP if语句中的奇怪失败

PHP if语句中的奇怪失败,php,if-statement,Php,If Statement,好的,这是我的代码。我以后再消毒。别担心 gallery_upload_new.php views/gallery\u upload\u new.php 奇怪的是:如果没有这两个var_转储,else块将无法执行。我已确保$\u POST和$\u文件中的索引是正确的。然而,如果没有这些虚拟的垃圾堆,这件事就不会起作用。它只需加载views/gallery\u upload\u new.php即可 他们是否被评论掉都无关紧要。他们只需要在那里 我做错了什么?我是否在某个地方犯了语法错误?是否是in

好的,这是我的代码。我以后再消毒。别担心

gallery_upload_new.php views/gallery\u upload\u new.php

奇怪的是:如果没有这两个var_转储,else块将无法执行。我已确保$\u POST和$\u文件中的索引是正确的。然而,如果没有这些虚拟的垃圾堆,这件事就不会起作用。它只需加载views/gallery\u upload\u new.php即可

他们是否被评论掉都无关紧要。他们只需要在那里


我做错了什么?我是否在某个地方犯了语法错误?

是否是include中的某个东西把事情搞砸了?如果删除它并放置伪指令,else是否正常执行?是的。如果您没有上载文件图像链接,或者POST index标题不是空字符串,则包括gallery\u upload\u新文件。所以要么重定向,要么包含的文件不起作用。我已经包含了视图脚本。其他include在其他类似的脚本中使用没有问题,所以我认为它们不是麻烦制造者。@starleaf1在if语句之前打印\u r$\u文件并打印\u r$\u POST,然后发布输出,这样我们就可以了replicate@AlexAndrei执行此操作时,else块将正确执行。这越来越奇怪了。
// Check if user wants to upload to existing or new album
if (isset($_POST['album'])) {
    if ($_POST['album'] == '') {
        $_POST['album'] = $_POST['new_album'];
    }
}

// Populate album dropdown menu
$albums = $database->query("SELECT DISTINCT(album) FROM images")->fetchAll(PDO::FETCH_COLUMN); 

// Load the 'upload new photo' interface if user's not uploading it already
if (!isset($_FILES['image_link']) || !isset($_POST['caption']) || $_POST['caption'] == '') {
    //var_dump($_FILES);
    //var_dump($_POST);
    include('views/gallery_upload_new.php');

// Otherwise store the image file, register it into database, and put the user back in the list of photos
} else {
    $new_image = new Image($_POST['caption'], $_POST['album']);
    $new_image->register($_FILES['image_link']['tmp_name'], $_FILES['image_link']['name']);
    header('location: gallery_management.php'); 
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title><?php echo $site_title; ?></title>
        <?php include('views/header.php'); //Just the global CSS and JavaScript ?>
    </head>
    <body>
        <?php include('views/nav_menu.php'); //Site navigation panel ?>
        <div id="content">
            <h1>Upload new photo</h1>
            <form enctype="multipart/form-data" action="gallery_upload_new.php" method="post">
                <p>
                    <strong>Upload to album: </strong>
                    <select name="album">
                        <?php
foreach($albums as $album_name) {
    echo "<option value='$album_name'>$album_name</option>";
}
                        ?>
                        <option id="selectNewAlbum" value="" selected>New album</option> <input type="text" placeholder="New album name" name="new_album" id="newAlbumName">
                    </select>
                </p>
                <p><strong>Photo caption</strong> <input type="text" name="caption"></p>
                <p><strong>Photo file: </strong><input type="file" required name="image_link"></p>
                <input type="submit" value="Unggah">
            </form>
        </div>
    </body>
</html>