PHP-код не работает с моей базой данных

0

Все в моей базе данных заполняется, за исключением самого самого изображения. Я просматривал это в течение нескольких часов, и я не могу понять, почему я все еще получаю эти ошибки, когда я нажимаю submit. Хотя я получаю ошибки в другой информации; размер, тип, имя отображаются в моей базе данных. Пожалуйста помоги. Вот мой код.

<?php
ob_start();
?>

<?php

session_start();
if($_SESSION['nachos'] != "admin")
header("Location: index.php");



?>




<html xmlns="http://www.w3.org/1999/xhtml">


<head>
<title>Steven Eck - Portfolio Form</title>

<style type="text/css">
.auto-style1 {
font-family: "Courier New", Courier, monospace;
font-size: x-large;
font-weight: bold;
}
.auto-style2 {
font-family: "Courier New", Courier, monospace;
font-weight: bold;
font-size: medium;
}
 .auto-style3 {
font-family: "Courier New", Courier, monospace;
font-size: small;
text-decoration: blink;
}
</style>

</head>

<body style="color: #00FF00; background-color: #000000">
<div id="contentWrapper">

<div id="mainContent">


    <?php
    //display form if user has not clicked submit
    if (!('POST' == $_SERVER['REQUEST_METHOD']))
    {
    ?>
    <form enctype="multipart/form-data" action="portfolioForm.php" method="post">
    <fieldset>
        <legend class="auto-style1">Project Information</legend>
        <p><label for="txtTitle"><span class="auto-style2">Title</span>:</label>
        <input type="text" name="txtTitle" id="txtTitle" ></p>

        <p><span class="auto-style2"><label for="txtShortDescription">Short Description:</label></span>
        <input type="text" name="txtShortDescription" id="txtShortDescription" ></p>

        <p><span class="auto-style2"><label for="txtLongDescription">Long Description:</label></span>
        <input type="text" name="txtLongDescription"id="txtLongDescription" ></p>

        <p>
        <input type="file" name="imgPhoto" id="imgPhoto" ></p>

        <button type="submit">Submit</button>

        &nbsp;<br><br><span class="auto-style3"><a href="index.php">Admin 
        Login</a></span><br class="auto-style3"><span class="auto-style3">
        <a href="portfolioForm.php">Portfolio Form</a></span><br class="auto-style3">
        <span class="auto-style3">
        <a href="http://www.stevesays.net/newsite.php">Main Site</a></span><br>
        <br><br><br><br><br>

        </fieldset>

        </form>

        <?php
        }
        //the user has submitted the form
        else
        {
        echo "<form><fieldset><legend>Project Information</legend>";

         $dbConnection = mysqli_connect("lo***host", "we***stu_st***ck1", "r******aster", "w******u_351");

          if(mysqli_connect_errno()){
            echo '<p style="color: red;"> Failed to connect to MySql!: ' .mysqli_connect_error() . '</p>'; 
          }
          else
            echo 'connected';



        $handle = fopen($_FILES['imgPhoto']['tmpName'], "r");
        $image = fread($handle, filesize($_FILES['imgPhoto']['tmpName']));
        fclose($handle);

       $image = mysqli_real_escape_string($dbConnection, $image);

        mysqli_query($dbConnection, "INSERT INTO portfolio (title, shortDescription, longDescription, image, imageName, imageType, imageSize) VALUES ('$_POST[txtTitle]', '$_POST[txtShortDescription]', '$_POST[txtLongDescription]', '$image', '"  . $_FILES['imgPhoto']['name']. " ',  ' " . $_FILES['imgPhoto']['type']. " ',  '" . $_FILES['imgPhoto']['size']. "'  )");

        echo "<p style=\"text-align: center; font-size: 11px;\">Thanks for filling out form!</p>";
        echo "</fieldset></form>" ;

        }

        ?>

        </div>

Это ошибки, которые я получаю. Хотя я все еще получаю данные для других полей, изображение настроено на blob, и оно никогда не загружает его.

Предупреждение: fopen() [function.fopen]: имя файла не может быть пустым в /home/wequpstu/public_html/admin/portfolioForm.php в строке 100

Предупреждение: fread() ожидает, что параметр 1 будет ресурсом, boolean указан в /home/wequpstu/public_html/admin/portfolioForm.php в строке 101

Предупреждение: fclose() ожидает, что параметр 1 будет ресурсом, boolean указан в /home/wequpstu/public_html/admin/portfolioForm.php в строке 102

  • 0
    Просто добавил их, извините
Теги:

2 ответа

4
Лучший ответ

Ошибка Typo tmpName => tmp_name

    $handle = fopen($_FILES['imgPhoto']['tmp_name'], "r");
    $image = fread($handle, filesize($_FILES['imgPhoto']['tmp_name']));
  • 0
    Я действительно ненавижу, когда дело доходит до подчеркивания. Бесконечно благодарен
  • 0
    @ StevenEck вы добро пожаловать
1

Ошибка довольно ясна: $ _FILES ['imgPhoto'] ['tmpName'] пуст в

    $handle = fopen($_FILES['imgPhoto']['tmpName'], "r");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню