【问题标题】:Information From Forum is Not Being Sent to Database来自论坛的信息未发送到数据库
【发布时间】:2018-09-26 21:58:43
【问题描述】:

我已经在这个项目上工作了几个小时,需要重新了解论坛中的信息为什么没有提交到数据库中。

我检查了与数据库的连接是否正常。每当我尝试向数据库提交条目时,它都显示没有任何问题并按预期转到https://example.com/beta/index.php?post=success,但除了auto_incremented id number 之外什么都没有显示到数据库中。

我的表单页面:

if(!session_id()){
    session_start();
}

require('loginregister-master/includes/config.php');

if ($_SESSION['username'] !== admin ) {
    header("Location: https://www.example.com/beta");
}


//if not logged in redirect to login page
if(!$user->is_logged_in()){ header('Location: loginregister-master/login.php'); }

include('sec/HTTPS.php');

?>


<!DOCTYPE html>
<html>
<head>
    <title>Post Blog</title>

        <!-- Bootstrap Core CSS -->
    <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

    <!-- Custom Fonts -->
    <link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
    <link href='https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
    <script src="vendor/jquery/jquery.min.js"></script>
</head>
<body>
        <form action="likesdislike/post.php" method="POST">
  <div class="form-group">
    <label>Title</label>
    <input type="title" class="form-control" name="title' placeholder="Title">
  </div>
    <div class="form-group">
    <label>Content</label>
    <input type="content" class="form-control" name="content' placeholder="Content">
  </div>
        <div class="form-group">
    <label>Date</label>
    <input type="text" class="form-control" name="etad' placeholder="Date">
  </div>
    <div class="form-group">
    <label>Author</label>
    <input type="text" class="form-control" name="author' placeholder="author">
  </div>
    <div class="form-group">
    <label>URL</label>
    <input type="text" class="form-control" name="URL' placeholder="URL">
  </div>
  <button type="submit" name="submit">Submit</button>





</form>
</body>
</html>

“应该”处理提交数据库的位:

<?php

include('connect.php');


$title =  mysqli_real_escape_string($link, $_POST['title']);
$content =  mysqli_real_escape_string($link, $_POST['content']);
$etad =  mysqli_real_escape_string($link, $_POST['etad']);
$author =  mysqli_real_escape_string($link, $_POST['author']);
$URL =  mysqli_real_escape_string($link, $_POST['URL']);


$sql = "INSERT INTO posts (title, content, etad, author, URL) VALUES ('" . $title . "', '" . $content . "', '" . $etad . "', '" . $author . "', '" . $URL . "')";
mysqli_query($link, $sql);

header("Location: https://www.example.com/beta/index.php?post=success");


?>

当然还有处理与数据库连接的位:

<?php

$link = mysqli_connect("localhost", "username", "password", "database_name");
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}

 ?>

【问题讨论】:

  • 没有检查错误。你不应该使用mysqli_real_escape_string
  • @Xorifelse 我该怎么做?这会很有帮助。
  • mysqli_query 返回一个布尔值是有原因的。你应该使用准备好的语句。执行后者将自动解决您的问题。
  • if (!mysqli_query($link,$sql)) { die('Error: ' . mysqli_error($con)); } 检查错误。
  • @Ash,不幸的是,该位没有返回任何内容,因为我假设这是因为唯一提交的是自动递增的 id。不过我可能错了。

标签: php html mysqli phpmyadmin


【解决方案1】:

您在 html 标签的名称中放错了"。只需使用"" 即可。

<form action="likesdislike/post.php" method="POST">
  <div class="form-group">
    <label>Title</label>
    <input type="title" class="form-control" name="title" placeholder="Title">
  </div>
    <div class="form-group">
    <label>Content</label>
    <input type="content" class="form-control" name="content" placeholder="Content">
  </div>
        <div class="form-group">
    <label>Date</label>
    <input type="text" class="form-control" name="etad" placeholder="Date">
  </div>
    <div class="form-group">
    <label>Author</label>
    <input type="text" class="form-control" name="author" placeholder="author">
  </div>
    <div class="form-group">
    <label>URL</label>
    <input type="text" class="form-control" name="URL" placeholder="URL">
  </div>
  <button type="submit" name="submit">Submit</button>

</form>

【讨论】:

    猜你喜欢
    • 2019-08-06
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 2017-09-04
    • 1970-01-01
    • 2019-12-12
    • 2017-01-01
    相关资源
    最近更新 更多