これは、データベースを通過しないように、フロントテキストのみを使用するように取り組んでいる方法です。
致命的なエラー: 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 を取り込み、問題なく動作します。まったく問題ありません。