Я пытаюсь загрузить файл (изображение) в таблицу sql через файл пути, но я продолжаю получать эту ошибку «undefined index: изображение в строке 3 и строке 24». Я уже определил изображение на странице пользователя. Я не использую BLOB, потому что он потребляет слишком много места. В моей таблице sql я просто установил столбец изображения как вачар. Я уже проверил файл php.ini в xampp, загрузка включена и максимум 2MB загружают файл. Пожалуйста, помогите. TQ.
Ниже приведена страница пользователя:
<?php //useracc-test.php //start session session_start(); require 'connect-test.php'; include 'upload.php'; if(isset($_POST['username'])){ $userName = $_POST['username']; $query = "SELECT id, name, username, telno FROM users WHERE username = ?"; $stmt = $conn->prepare($query); $stmt->bind_param('s', $userName); $stmt->execute(); $res = $stmt->get_result(); $row = $res->fetch_array(); $_SESSION['id'] = $row['id']; $_SESSION['name'] = $row['name']; $_SESSION['username'] = $row['username']; $_SESSION['telno'] = $row['telno']; } ?> <html> <head> <script type="text/javascript"> function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } </script> </head> <body> <div id="apDiv3"> <p> </p> <p> </p> <p> </p> <p><span class="TabbedPanelsContent"> <?php echo $_SESSION['id']."<br/>"; echo $_SESSION['name']."<br/>"; echo $_SESSION['username']."<br/>"; echo $_SESSION['telno']."<br/>"; ?> <?php if(isset($_POST['submit'])) { $id = $_POST['id']; $name2 = $_POST['name2']; $color2 = $_POST['color2']; $hobby2 = $_POST['hobby2']; $radiobtn = $_POST['radiobtn']; $image = $_POST['image']; $stmt = $conn->prepare("INSERT INTO useradvert (id,name2,color2,hobby2,radiobtn,image) VALUES (?,?,?,?,?,?)"); $stmt->bind_param("isssss",$id,$name2,$color2,$hobby2,$radiobtn,$image); $stmt->execute(); // $stmt->close(); // $conn->close(); //think of something later how to close and logout /* <?php unset($_SESSION); session_destroy(); ?> */ } ?> </p> <p> </p> <form name="form2" action="useracc-test.php" method="post" enctype="multipart/form-data"> <p> </p> <table width="500" border="0"> <tr> <td>category</td> <td><select name="jumpMenu" id="jumpMenu" onChange="MM_jumpMenu('parent',this,0)"> <option value="useracc-test.php" selected>Category</option> <option value="useracc-test.php">Members</option> <option value="useracc-test2-jumpmenu.php">Non-members</option> </select></td> </tr> <tr> <td>ID:</td> <td><input name="id" type="text" id="id" value="<?php echo $_SESSION['id']; ?>" ></td> </tr> <tr> <td>Name:</td> <td><input type="text" name="name2" id="name2"></td> </tr> <tr> <td>Color</td> <td><input type="text" name="color2" id="color2"></td> </tr> <tr> <td>Hobby</td> <td><input type="text" name="hobby2" id="hobby2"></td> </tr> <tr> <td>Sex</td> <td>male <input type="radio" name="radiobtn" id="radio" value="male"> female <input type="radio" name="radiobtn" id="radio2" value="female"></td> </tr> <tr> <td>Image</td> <td><input type="file" name="image" id="image"></td> </tr> <tr> <td> </td> <td><input type="submit" name="submit" id="submit" value="submit"></td> </tr> </table> <div align="center"></div> <p> </p> </form> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </body> </html>
ниже – файл upload.php, где я запускаю сценарий загрузки.
<?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["image"]["name"]); $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); // Check if image or not if(isset($_POST["submit"])) { $check = getimagesize($_FILES["image"]["tmp_name"]); if($check !== false) { echo "File is an image - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "File is not an image."; $uploadOk = 0; } } // Check if file already exists if (file_exists($target_file)) { echo "Sorry, file already exists."; $uploadOk = 0; } // Check file size if ($_FILES["image"]["size"] > 200000) { echo "Sorry, your file is too large."; $uploadOk = 0; } // Allow certain file formats if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; $uploadOk = 0; } // Check if $uploadOk is set to 0 by an error if ($uploadOk == 0) { echo "Sorry, your file was not uploaded."; // if everything is ok, try to upload file } else { if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) { echo "The file ". basename( $_FILES["image"]["name"]). " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; } } ?>
Я получаю неопределенный индекс ошибки в строке 3 и строке 24.
строка ошибки 3 относится ниже;
$target_file = $target_dir . basename($_FILES["image"]["name"]);
строка 24 ошибок относится к ниже;
if ($_FILES["image"]["size"] > 200000) {