如何从我的新帖子管理面板添加新帖子到我的帖子数据库?

时间:2014-01-27 05:40:31

标签: php mysql forms post blogs

我正在建立一个有博客的网站(project.intrepidem.net)。我有它的工作,所以当我在phpmyadmin面板中创建一个新帖子时,它会生成HTML并将新的博客帖子放在页面上,就像我想要的那样。问题是我创建了一个带有新表单的管理面板,我希望能够填写表单并自动将帖子添加到数据库中,并且不会更新。

小组的表格:

<h1>Create a new Post</h1>
<form action="new_script.php" method="post">
     <input type="text" name="title" placeholder="Post Title"/>
     <select name="authorId">
       <option value="1">First Name</option>
       <option value="2">Second Name</option>
       <option value="3">Third Name</option>
     </select>    
     <textarea name="post" placeholder="Write your post."></textarea>
     <input type="submit" value="post"/>        
</form>

这是new_script.php页面:

<?php
$title = $_POST['title'];
$post = $_POST['post'];
$authorId = $_POST['authorId'];

//connect to database
$connect = mysqli_connect('localhost','username', 'password', 'database');

//SQL query
$query = "INSERT INTO `blog_posts`(`title`, `post`, `author_id`) VALUES ([$title],[$post],[$authorId])";

//run the query
$run = mysqli_query($connect, $query);

    //testing to see if values came from HTML page
    echo $title;
    echo $post;
    echo $authorId;

    echo "<br/><a href='../index.php' title='Go Home'><--Go Home</a>";

?>

$ connect中的数据库名称,用户名和密码都是正确的。我知道表单中的值是通过的,因为我在底部将它们打印出来,并在我尝试更新表单时显示正确的值。由于某种原因,帖子不会保存到数据库,这意味着它不会更新页面。

感谢。我只是在学习PHP,所以它绝对是一个我无法看到的愚蠢错误。如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:3)

您的变量必须是引号,而不是[],更改:

$query = "INSERT INTO `blog_posts`(`title`, `post`, `author_id`) VALUES ([$title],[$post],[$authorId])";

$query = "INSERT INTO `blog_posts`(`title`, `post`, `author_id`) VALUES ('$title','$post','$authorId')";