这就是我正在努力的方式,只应该是你的正文,以便我不会通过数据库:
致命错误:在第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();
}
?>
更新程序完全正常,没有任何问题。
是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并且可以正常运行。根本不会有任何错误!。
答案 0 :(得分:0)
尝试在类 mebe 中公开您的功能,如下所示:
public function admin_tekst()
代码中的:
class mebe
{
private $mysqli;
function db_c()
{
...
}
public function admin_tekst()
{ ...