这就是我正在处理的那个应该只有你的前面文本的方法,这样我就不会通过数据库:
致命错误:在第 30 行调用 /home/jesperbo/public_html/blabla.dk/admin_forside.php 中未定义的方法 mebe::admin_tekst()
function admin_tekst()
{
if ($stmt = $this->mysqli->prepare('SELECT `tekst` FROM `forside_tekst`'))
{
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($tekst);
while ($stmt->fetch()) {
?>
<form action="#" method="post">
<textarea name="tekst" cols="20" rows="15" class="new" style="width:100%;"><?php echo $tekst;?></textarea>
<input type="submit" name="opret" value="Opret Blog" class="new">
</form>
<?php
}
$stmt->close();
} else {
echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
}
当我得到它时,它是这样的:
<?php
$admin_tekst = $mebe->admin_tekst();
if(isset($_POST["opret"]))
{
$updater_forside = $mebe->updater_forside();
}
?>
updater 现在工作得很好,没有任何问题。
问题是 admin_tekst()
当我获得页面信息时:
session_start();
require_once("indhold/inc/fun_db.php");
$mebe = new mebe;
$db = $mebe->db_c();
所以这里似乎是我的函数文件的开始:
if(IN_DEBUG_MODE){
ini_set("display_startup_errors", "on");
ini_set("display_errors", "on");
ini_set("html_errors", "false");
error_reporting(-1); // -1 viser alle slags fejl beskeder
ini_set("ignore_repeated_errors", 0);
}
else{
error_reporting(0);
}
class mebe
{
private $mysqli;
function db_c()
{
$mysqli = new mysqli('localhost', '..', '..', '..');
if ($mysqli->connect_errno) {
die('Fejl : ' . $mysqli->connect_errno);
}
mysqli_set_charset($mysqli, "utf8");
$this->mysqli = $mysqli;
}
function admin_tekst()
{
if ($stmt = $this->mysqli->prepare('SELECT `tekst` FROM `forside_tekst`'))
{
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($tekst);
while ($stmt->fetch()) {
?>
<form action="#" method="post">
<textarea name="tekst" cols="20" rows="15" class="new" style="width:100%;"><?php echo $tekst;?></textarea>
<input type="submit" name="opret" value="Opret Blog" class="new">
</form>
<?php
}
$stmt->close();
} else {
echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
}
}
}
所有其他功能都很好的例子:
function updater_forside()
{
if ($stmt = $this->mysqli->prepare('UPDATE `forside_tekst` SET `tekst`=? WHERE `id`=?'))
{
$stmt->bind_param('si', $tekst, $id);
$tekst = $_POST["tekst"];
$id = 1;
$stmt->execute();
$stmt->close();
}
else
{
echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
}
它还将引入 admin_forside.php 并且可以正常工作。根本不会有任何错!