Php OOP INSERT INTO语句不工作
我正在创建一个非常简单的留言板来学习OOP风格的编程。其目的是显示保存在数据库中的帖子,在显示的帖子下方,您可以向数据库添加新帖子,该帖子也将显示在页面上 我在调用index.php页面上的函数时遇到问题,因此当我单击submit时,它会将textarea中的内容添加到数据库中。有什么建议吗 Index.phpPhp OOP INSERT INTO语句不工作,php,sql,oop,sql-insert,Php,Sql,Oop,Sql Insert,我正在创建一个非常简单的留言板来学习OOP风格的编程。其目的是显示保存在数据库中的帖子,在显示的帖子下方,您可以向数据库添加新帖子,该帖子也将显示在页面上 我在调用index.php页面上的函数时遇到问题,因此当我单击submit时,它会将textarea中的内容添加到数据库中。有什么建议吗 Index.php <?php ini_set("display_errors", 1); error_reporting(E_ALL); require_once("prikbord.class
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
require_once("prikbord.class.php");
$p = new Prikbord();
$bericht = $p->getbericht();
if(isset($_POST['submit'])){
$p->setbericht($_POST[$bericht]);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Prikbord</title>
</head>
<body>
<?php
echo $p->showdata();
?>
<form action="" type="post">
<textarea name="bericht" placeholder="Uw bericht" style="display: block; width: 350px; height: 150px;"></textarea>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
<?php
class Prikbord {
private $db;
private $data = array();
public function __construct() {
$this->db = new mysqli("localhost", "root", "root", "prikbord");
if($this->db->connect_error) {
die("Fout met database verbinding.");
}
}
public function getbericht() {
$sql = "SELECT naam, datum, bericht FROM prikbord";
$result = $this->db->query($sql);
while($row = $result->fetch_assoc()) {
$this->data[] = $row;
}
return $this->data;
}
public function showdata() {
$return = "";
foreach($this->data as $item) {
$return .= "<div>" . $item["naam"] . "</div>";
$return .= "<div>" . $item["datum"] . "</div>";
$return .= "<div>" . $item["bericht"] . "</div>";
$return .= "<hr style='width: 100px; float: left; display: inline;'>";
$return .= "<br><br>";
}
return $return;
}
public function setbericht($bericht) {
$sql = "INSERT INTO prikbord(bericht) VALUES ('" . $bericht . "')";
$result = $this->db->query($sql);
if($this->result) {
echo "Data insert succesfully.";
}
}
}
?>
普里克福德
Prikbord.class.php
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
require_once("prikbord.class.php");
$p = new Prikbord();
$bericht = $p->getbericht();
if(isset($_POST['submit'])){
$p->setbericht($_POST[$bericht]);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Prikbord</title>
</head>
<body>
<?php
echo $p->showdata();
?>
<form action="" type="post">
<textarea name="bericht" placeholder="Uw bericht" style="display: block; width: 350px; height: 150px;"></textarea>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
<?php
class Prikbord {
private $db;
private $data = array();
public function __construct() {
$this->db = new mysqli("localhost", "root", "root", "prikbord");
if($this->db->connect_error) {
die("Fout met database verbinding.");
}
}
public function getbericht() {
$sql = "SELECT naam, datum, bericht FROM prikbord";
$result = $this->db->query($sql);
while($row = $result->fetch_assoc()) {
$this->data[] = $row;
}
return $this->data;
}
public function showdata() {
$return = "";
foreach($this->data as $item) {
$return .= "<div>" . $item["naam"] . "</div>";
$return .= "<div>" . $item["datum"] . "</div>";
$return .= "<div>" . $item["bericht"] . "</div>";
$return .= "<hr style='width: 100px; float: left; display: inline;'>";
$return .= "<br><br>";
}
return $return;
}
public function setbericht($bericht) {
$sql = "INSERT INTO prikbord(bericht) VALUES ('" . $bericht . "')";
$result = $this->db->query($sql);
if($this->result) {
echo "Data insert succesfully.";
}
}
}
?>
您根本没有发布数据。您应该像这样打开表单:
<form name="myForm" method="POST">
注意:这是方法
,而不是类型
您遇到了什么麻烦?错误消息?没有得到任何回复。唯一的问题是URL更改为:。它没有将文本区域的内容添加到数据库中。问题是你没有发布表单,请参阅我的更新答案。这是一个noob移动。非常感谢您抽出时间。