Member 12903363 Ответов: 1

Что я делаю не так с этим разделом комментариев?


<?php
echo "<form method='POST' enctype='multipart/form-data 'action='".setComments($conn)."'>
	<input type='hidden' name='uid' value='Anonymous'>
    <input type='hidden' name='date' value='".date('Y-m-d H:i:s')."'>
	<label>Upload Image</label><br>
    <input type='file' name='image' id='image'><br>,<br>
	<textarea name='message'></textarea><br><br>
	<button type='submit' name='commentSubmit'>Upload</button>
</form>";

		
?>

<?php

function setComments($conn) {
	if (isset($_POST['commentSubmit'])) {
		$check= getimagesize($_FILES["image"]["tmp_name"]);
		if ($check===false){
			$uploadok=0;
			echo "Please select an image.";
		}
		else
		{
			$image= addslashes($_FILES['image']['tmp_name']);
			$name= addslashes($_FILES['image']['name']);
			$image= file_get_contents($image);
			$image= base64_encode($image);
			saveimage($name, $image);
		}
		$uid = $_POST['uid'];
		$date = $_POST['date'];
		$message = $_POST['message'];
		
		$sql = "INSERT INTO comments (uid, date, image, message) values ('$uid', '$date', 'image', '$message')";
		$result = mysqli_query($conn, $sql);
	}
}
function saveimage($name, $image) {
		$con=mysql_connect("localhost","root","","images");
		mysql_select_db("images",$con);
		$qry="insert into images (name, image) values ('$name','$image')";
		$result=mysql_query($qry, $con);
		if($result)
		{
			echo "<br>Image uploaded.";
		}	
		else
		{
			echo "<br>Image not uploaded.";
		}
}
function getComments($conn) {
		$sql = "SELECT * FROM comments ORDER BY date DESC";
		$result = mysqli_query($conn, $sql);
		while ($row = $result->fetch_assoc()){
			echo "<div class="commentbox"><p>";
				echo $row['uid'];
				echo $row['date']."<br>";
				echo nl2br($row['message']);
			echo "</p><p></p></div>"."<br>";					
		}

}


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

Получаю ошибку Примечание: неопределенный индекс: изображение в C:\xampp\htdocs\Hussars\comments.inc.php на линии 5

Предупреждение: getimagesize(): имя файла не может быть пустым в C:\xampp\htdocs\Hussars\comments.inc.php на линии 5

выделите ошибочное кодирование жирным шрифтом

1 Ответов

Рейтинг:
0

Jochen Arndt

Цитата:
Имя файла не может быть пустым

Проверьте, есть ли image параметр устанавливается (не является пустой строкой; пользователь ввел имя в соответствующее поле ввода) перед вызовом getimagesize (непроверенный):
if (empty($_POST['image']))
{
    echo "Please select an image.";
}
else
{
    $check= getimagesize($_FILES['image']['tmp_name']);
}