第一次在这里发帖,所以我为任何坏习惯道歉。 我最近开始了关于php的在线youtube教程以及如何创建博客。 我最终忙于其他的事情,并回来尝试完成我开始的事情,发生了两件事。 1:我的教程已经删除了youtube(必须是一个版权问题),其次我完全忘记了使用的方法。我假设如果我是一个经验丰富的编码员,这很容易破译,但我现在尝试了几天后没有运气。
此代码适用于我的博客的提交表单。如果我手动将我的HTML输入到SQL数据库中,博客正在工作,但如果我使用此表单,我似乎得到的只是刷新提交页面,所有信息都消失了。没有信息添加到数据库中。
有人有想法吗?我在网站上搜索得很好,但由于我对我实际搜索的内容缺乏了解而陷入了死胡同(很多关于javascript的解决方案)
所有帮助将不胜感激。
此致
SGT Noob
<?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>
答案 0 :(得分:0)
试试这个
从你的改变到
class TicketManager(models.ModelManager):
def get_queryset():
return super(TicketManager, self).get_queryset().annotate(create_time=Min('records__create_time')).order_by('create_time')
class Ticket(models.Model):
.....
objects = TicketManager
您忘记输入名称属性
php
<input type = "submit" value="submit" name="submit"/>
注意我还将您的SQL语句更改为
<?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();
}
}
?>
注意表格字段的后退标记
答案 1 :(得分:0)
替换
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`; --
在日期字段中(&#34;博客&#34;是您的博客帖子表的名称)。这将是非常灾难性的,不是吗?
因此,当您处理输入数据时,要么使用mysqli包的prepare和bind方法,要么首先通过mysqli_real_escape_string()
函数传递字符串。