无法识别我的index.php文件中的变量

时间:2019-08-25 09:40:55

标签: php html css gallery

由于某种原因,无法识别我的变量$ stmt。我对编码很陌生,我不确定为什么会这样。我有三个文件:index.php,gallery-upload.inc.php和dbh.inc.php。我正在与包含数据库的本地服务器进行交互,该数据库包含图像,标题和这些图像的一些描述性文本。我没有问题可以操作上传功能,只有一个问题是无法识别此变量。请在这里帮助我,我希望在星期一开学之前将其包装好。

我已经调试了一段时间,但找不到此错误的根源。是的,我知道在index.php中,我已经启动了一个php脚本并回显了整个功能,如果可以使所有这些工作正常,我计划对该特定代码区域集成管理访问权限。

index.php:

<section class="gallery-links">
        <div class="wrapper">


            <div class="gallery-container">
                <?php

                include_once 'includes/dbh.inc.php';

                $sql = "SELECT * FROM gallery ORDER BY orderGallery DESC"
                $stmt = mysqli_stmt_init($conn);
                if (!mysqli_stmt_prepare($stmt, $sql)) {
                    echo "SQL statment failed!";
                } else {
                    mysqli_stmt_execute($stmt);
                        $result = mysqli_stmt_get_result($stmt);

                        while ($row = mysqli_fetch_assoc($result)) {
                            echo '<a href="#">
                            <div style="background-image: url(img/gallery/'.$row["imgFullNameGallery"].');"></div>
                            <h3>'.$row["titleGallery"].'</h3>
                            <p>'.$row["descGallery"].'</p>
                        </a>';
                        }
                }
                ?>
            </div>

            <?php
            echo '<div class="gallery-upload">
                <form action="includes/gallery-upload.inc.php" method="post" enctype="multipart/form-data">
                    <input type="text" name="filename" placeholder="File name...">
                    <input type="text" name="filetitle" placeholder="Image title...">
                    <input type="text" name="filedesc" placeholder="Image description...">
                    <input type="file" name="file">
                    <button type="submit" name="submit">Upload</button>
                </form>
            </div>'
            ?>

        </div>
    </section>

gallery-upload.inc.php:

<?php

if (isset($_POST['submit'])) {

$newFileName = $_POST['filename'];
if (empty($newFileName)) {
    $newFileName = "gallery";
} else {
    $newFileName = strtolower(str_replace(" ", "-", $newFileName));
}
$imageTitle = $_POST['filetitle'];
$imageDesc = $_POST['filedesc'];

$file = $_FILES["file"];

$fileName = $file["name"];
$fileType = $file["type"];
$fileTempName = $file["tmp_name"];
$fileError = $file["error"];
$fileSize = $file["size"];

$fileExt = explode(".", $fileName);
$fileActualExt = strtolower(end($fileExt));

$allowed = array("jpg", "jpeg", "png");

if (in_array($fileActualExt, $allowed)) {
    if ($fileError === 0) {
        if($fileSize < 2000000) {
            $imageFullName = $newFileName . "." . uniqid("", true) . "." . $fileActualExt;
            $fileDestination = "../images/gallery/" . $imageFullName;

            include_once "dbh.inc.php";

            if (empty($imageTitle) || empty($imageDesc)) {
                header("Location: ../index.php?upload=empty");
                exit();
            } else {
                $sql = "SELECT * FROM gallery;";
                $stmt = mysqli_stmt_init($conn);
                if (!mysqli_stmt_prepare($stmt, $sql)) {
                    echo "SQL statement failed!";
                } else {
                    mysqli_stmt_execute($stmt);
                    $result = mysqli_stmt_get_result($stmt);
                    $rowCount = mysqli_num_rows($result);
                    $setImageOrder = $rowCount + 1;

                    $sql = "INSERT INTO gallery (titleGallery, descGallery, imgFullNameGallery, orderGallery) VALUES (?, ?, ?, ?);";
                    if (!mysqli_stmt_prepare($stmt, $sql)) {
                        echo "SQL statement failed!";
                    } else {
                        mysqli_stmt_bind_param($stmt, "ssss", $imageTitle, $imageDesc, $imageFullName, $setImageOrder);
                        mysqli_stmt_execute($stmt);

                        move_uploaded_file($fileTempName, $fileDestination);

                        header("Location: ../index.php?upload=success");
                    }
                }
            }

        } else {
            echo "File size is too big!";
            exit();
        }
    } else {
        echo "You had an error!";
        exit();
    }
} else {
    echo "You needd to upload a proper file type!";
    exit();
}

}

dbh.inc.php:

<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "gallery";

$conn = mysqli_connect($servername, $username, $password, $dbname);

每当我尝试在文本字段中键入内容时,它仅适用于一行,然后在图像下方键入其余行。不管我尝试什么,都不会排队。

0 个答案:

没有答案