ALEX8998 Ответов: 1

Как отправить свой проект в базу данных?


По-моему, я все сделал правильно!Но мой insert_post не может быть отправлен в мою базу данных!

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

<!DOCTYPE html>
<html>
<head>
	<title>Inserting new posts</title>
</head>

<body>
<form method="POST" action="insert_post.php" enctype="multipart/form-data">
<table width="600" align="center" border="10">
<tr>
	<td align="center" bgcolor="yellow" colspan="6"><h1>Insert new post here</h1></td>
</tr>	
<tr>
	<td align="right">Post Title</td>
	<td><input type="text" name="title" size="30"></td>
</tr>
<tr>
	<td align="right">Author</td>
	<td><input type="text" name="author" size="30"></td>
</tr>
<tr>
	<td align="right">Post Keywords</td>
	<td><input type="text" name="keywords" size="30"></td>
</tr>
<tr>
	<td align="right">Post image</td>
	<td><input type="file" name="image" ></td>
</tr>
<tr>
	<td align="right">Post Content</td>
	<td><textarea name="content" cols="30" rows="15"></textarea></td>
</tr>
<tr>

	<td align="center" colspan="6"><input type="submit" name="submit" value="Publish now"></td>
</tr>


</form>


</body>
</html>
<?php
$db=  mysqli_connect("localhost","root","","student");

// mysqli_select_db("student");


if(isset($_POST['submit'])){
	$post_title=$_POST['title'];
	 $post_date=date('d-m-y');
     $post_author = $_POST['author'];
	 $post_keywords=$_POST['keywords'];
 	$post_content=$_POST['content'];
	$post_image=$_FILES['image']['name'];
	$image_tmp= $_FILES['image']['tmp_name'];



	move_uploaded_file($image_tmp, "../images/$post_image");

	$insert_query="INSERT into posta (post_title, post_date, post_author, post_image,post_keywords, post_content) 
          values ('$post_title','$post_date','$post_author','$post_image','$post_keywords','$post_content')";

if(mysqli_query($db, $insert_query)){
	echo "<center><h1>Post Published succesfully!</h1></center>";
}






}
?>

Mehdi Gholam

Не очень полезная информация, попробуйте опубликовать сообщения об ошибках.

1 Ответов

Рейтинг:
5

Patrice T

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