первый раз здесь, поэтому я прошу прощения за любые вредные привычки.
Недавно я запустил онлайн-руководство по YouTube и тому, как создать блог.
Я закончил тем, что занялся другими вещами и вернулся, чтобы попытаться закончить то, что я начал, и 2 вещи произошли. 1: мои учебники были удалены с YouTube (должно быть, это проблема авторского права), а во-вторых, я полностью забыл используемый метод. Я предполагаю, что если бы я был опытным программистом, это было бы легко расшифровать, но мне не повезло после нескольких дней попыток.
Этот код предназначен для отправки формы в мой блог. Блог работает в том смысле, что если я вручную ввожу свой HTML-код в базу данных SQL, но все, что мне кажется, что я получаю, если использую эту форму, — это обновление страницы представления со всей пропавшей информацией. Информация не добавляется в базу данных.
У кого-нибудь есть идея? У меня был хороший поиск по сайту, но я зашел в тупик из-за недостатка знаний о том, что я на самом деле искал (множество решений, касающихся JavaScript)
Вся помощь будет оценена.
Искренне
СГТ Нуб
<?php error_reporting(E_ALL); ini_set('display_errors', 1);
session_start();if (isset($_SESSION['username'])) {
$username = ($_SESSION['username']);
}
else {
header('Location: ../index.php');die();
}
if (isset($_POST['submit']))
if ($_POST['submit']) {
$title = $_POST['Post_Title'];
$content = $_POST['Post_Content'];
$date = $_POST['Post_Date'];
include_once("../admin/connection.php");$sql = "INSERT INTO `posts` (Post_Title, Post_Content, Post_Date)
VALUES ('$title','$content','$date')";
mysqli_query($dbcon,$sql);
echo "Post has been added to the database";}
else {
header('Location: index.php');
die();
}?><html>
<div>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="//cdn.ckeditor.com/4.5.9/standard/ckeditor.js"></script><title> Insert Post </title>
</head>
<div><body>
<div id= 'cmssubmissionform'>
<form action="" method="post">
<p>
<h1> Post Title</h1>
<input type="text" name= "Post_Title"/>
</p><h1> Post Date</h1>
<input type="text" name= "Post_Date"/>
</p>
<p>
<h1>Post Content </h1>
<textarea name="Post_Content"></textarea>
<script>
CKEDITOR.replace( 'Post_Content' );
</script></p><p>
<input type = "submit" value="submit" />
</p>
</form>
</div>
</div>
</div>
</body>
попробуй это
в вашем от изменения до
<input type = "submit" value="submit" name="submit"/>
Вы забыли поставить атрибут имени
Php
<?php error_reporting(E_ALL); ini_set('display_errors', 1);
session_start();
include_once("../admin/connection.php");if (isset($_SESSION['username'])) {
$username = ($_SESSION['username']);
}
else {
header('Location: ../index.php');die();
}
if (isset($_POST['submit'])){$title = $_POST['Post_Title'];
$content = $_POST['Post_Content'];
$date = $_POST['Post_Date'];$sql = "INSERT INTO `posts` (`Post_Title`, `Post_Content`, `Post_Date`)
VALUES ('$title','$content','$date')";if(mysqli_query($dbcon,$sql)){
echo "Post has been added to the database";
}else{
header('Location: index.php');
die();}}
?>
Обратите внимание, я также изменил ваш оператор SQL на
INSERT INTO `posts` (`Post_Title`, `Post_Content`, `Post_Date`)
VALUES ('$title','$content','$date
Обратите внимание на обратные галочки для полей таблицы
замещать
if (isset($_POST['submit']))
if ($_POST['submit']) {
с
if (isset($_POST['submit'])) {
а затем заменить
<input type = "submit" value="submit" />
с
<input type ="submit" name="submit" value="submit" />
Однако на этом этапе я настоятельно рекомендую начать с другого урока.
Кроме того, как уже упоминалось в комментариях, всякий раз, когда вы берете аргументы от пользователя и помещаете их в запрос к базе данных, вы должны быть абсолютно уверены, что строки не манипулируют запросом (представьте, что кто-то написал 0'; DROP TABLE `blog`; --
в поле даты (и «блог» — это название таблицы сообщений в вашем блоге). Это было бы довольно катастрофично, не так ли?
Поэтому, когда вы обрабатываете входные данные, либо используйте методы prepare и bind пакета mysqli, либо пропустите строки через mysqli_real_escape_string()
функция первая