kiran bhagat Ответов: 2

Как я могу сохранить изображение в определенной папке с помощью PHP и mysql?


я пытаюсь сохранить изображение в папке с картинками .
Notice: Undefined index: img in C:\xampp\htdocs\image\index.php on line 9

Notice: Undefined index: image in C:\xampp\htdocs\image\index.php on line 14

эта ошибка отображается каждый раз.

Что я уже пробовал:

dbconfig.php
<?php
//all the variables defined here are accessible in all the files that include this one
$con= new mysqli('localhost','root','','project') or die("Could not connect to mysql".mysqli_error($con));
mysqli_select_db($con,"image");

?>







INDEX.PHP

include('dbconfig.php');
if (isset($_POST['submit']))
 {
	$name=$_POST['name'];
	$img=$_FILES['img']['name'];

	$result="INSERT into images values('null','$name','$img')";
       if (mysqli_query($con, $result))
          {
		       move_uploaded_file($_FILES['image']['temp_name'], "picture/$img");
		     echo "<script>
                  alert('image upload to folder')
                </script>";
            }

              else

          {
	                echo "<script>
                   alert('image does not upload to folder')
                   </script>";
           }

}	

?>

<html>
<head>
	<title>image upload into folder using php</title>
</head>
<body>
<form action="index.php" method="post" enctype="mutlipart/form-data">
	<label>name:</label>
	<input type="text" name="name"><br><br>
	<br>

	<label>select image to upload:</label>
	<input type="file" name="img"><br>

	<input type="submit" name="submit" value="upload picture">
</form>
</body>
</html>

2 Ответов

Рейтинг:
1

Patrice T

Цитата:
Краткое описание: img В C:\xampp\htdocs\image\index.php в строке 9
Обратите внимание: неопределенный индекс: изображение в C:\xampp\htdocs\image\index.php на линии 14

В строках 9 и 14 вашего кода нет index.php. Какие строки-9 и 14 ?
Совет: используйте отладчик, чтобы увидеть, какой индекс существует в переменных.

$result="INSERT into images values('null','$name','$img')";

Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]


Рейтинг:
0

Bryian Tan

В разметке есть опечатка, то есть enctype должно быть enctype="multipart/form-data" и нет enctype="mutlipart/form-data"