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