G
geblonsky
Brauche dringend hilfe
Habe mir das Tutorial mini cms Ausgabe Internetprofesional 10/2004 in mein xampp (version 1.4.9) geladen
Nun habe ich aber mit der sql Ausgabe Probleme.
Es kommt folgende Fehlermeldung:
Fatal error: Class 'mysqli' not found in C:\apachefriends\xampp\htdocs\dgt\mysql\datenbank.inc.php on line 13
Fatal error: Call to a member function close() on a non-object in C:\apachefriends\xampp\htdocs\dgt\mysql\datenbank.inc.php on line 27
Nun ist es ja so, das Script ist in sachen mysql nicht mehr auf dem neustem Stand der Technik.
Kann mir da vielleicht jemand helfen und es hier posten !
Vielen dank schon mal im Voraus
Hier also mal das Script im Originalzustand
Datenbank sql
admin.php
Habe mir das Tutorial mini cms Ausgabe Internetprofesional 10/2004 in mein xampp (version 1.4.9) geladen
Nun habe ich aber mit der sql Ausgabe Probleme.
Es kommt folgende Fehlermeldung:
Fatal error: Class 'mysqli' not found in C:\apachefriends\xampp\htdocs\dgt\mysql\datenbank.inc.php on line 13
Fatal error: Call to a member function close() on a non-object in C:\apachefriends\xampp\htdocs\dgt\mysql\datenbank.inc.php on line 27
Nun ist es ja so, das Script ist in sachen mysql nicht mehr auf dem neustem Stand der Technik.
Kann mir da vielleicht jemand helfen und es hier posten !
Vielen dank schon mal im Voraus
Hier also mal das Script im Originalzustand
Datenbank sql
PHP:
-- phpMyAdmin SQL Dump
-- version 2.6.0-beta2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 01. August 2004 um 17:33
-- Server Version: 4.0.13
-- PHP-Version: 5.0.0
--
-- Datenbank: `minired`
--
CREATE DATABASE `minired`;
USE minired;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `artikel`
--
CREATE TABLE `artikel` (
`id` int(11) NOT NULL auto_increment,
`titel` varchar(50) NOT NULL default '',
`inhalt` varchar(255) NOT NULL default '',
`datum` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
--
-- Daten für Tabelle `artikel`
--
INSERT INTO `artikel` VALUES (1, 'Neue MySQL-Erweiterung', 'Die mysqli-Erweiterung unterstützt nun auch neuere <span style="font-weight: bold;">Funktionen </span>wie Transaktionen.<br />', '2004-07-03');
INSERT INTO `artikel` VALUES (2, 'Irgendeine Nachricht', '\r\nIrgendein Text zur Nachricht. Mit Umlauten: ä, ö, ü<br />\r\n', '2004-07-31');
INSERT INTO `artikel` VALUES (5, 'Alte Nachricht', 'Eine ziemlich alte Nachricht, die nur noch zum Bearbeiten angezeigt wird.\r\n', '2003-09-09');
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `nutzer`
--
CREATE TABLE `nutzer` (
`nutzer_id` int(11) NOT NULL auto_increment,
`name` varchar(20) NOT NULL default '',
`passwort` varchar(20) NOT NULL default '',
PRIMARY KEY (`nutzer_id`)
) TYPE=MyISAM;
--
-- Daten für Tabelle `nutzer`
--
INSERT INTO `nutzer` VALUES (1, 'tobias', 'hauser');
INSERT INTO `nutzer` VALUES (2, 'internet', 'professionell');
PHP:
<?php
include_once("datenbank.inc.php");
include_once("anzeigen.inc.php");
include_once("login.inc.php");
$log = new login();
$log->einloggen();
$log->session_pruefen();
$anzeigen = new anzeigen();
$news_roh = $anzeigen->bereitstellen_alle();
$news = $anzeigen->formatieren_bearbeiten($news_roh);
unset($log);
unset($anzeigen);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MiniRed - Administrationsbereich</title>
<link href="style.css" rel="stylesheet">
</head>
<body>
<div class="header">
<h1>Mini<span class="red">Red</span></h1>
<h2>Administrationsbereich</h2>
</div>
<div class="news">
<h3>News</h3>
<?=$news ?>
<br /><a href="bearbeiten.php">Neue Nachricht</a>
</div>
<div class="login">
<form action="index.php" method="POST">
<br /> <input type="submit" name="ausloggen" value="Logout" />
</form>
</div>
</body>
</html>
anzeigen.inc
<?php
class anzeigen {
private $aufruf;
function __construct() {
$this->aufruf = new abfrage("localhost", "root", "", "minired");
}
function __destruct() {
unset($this->aufruf);
}
function bereitstellen() {
$abfrage = $this->aufruf->abfragen("SELECT * FROM artikel");
$ergebnisse = array();
$i = 0;
while ($ergebnis = $abfrage->fetch_assoc()) {
$datum = strtotime($ergebnis["datum"]);
$differenz = mktime() - $datum;
if($differenz < (120 * 24 * 60 * 60)) {
$ergebnisse[$i] = $ergebnis;
$i++;
}
}
return $ergebnisse;
}
function bereitstellen_alle() {
$abfrage = $this->aufruf->abfragen("SELECT * FROM artikel");
$ergebnisse = array();
$i = 0;
while ($ergebnis = $abfrage->fetch_assoc()) {
$ergebnisse[$i] = $ergebnis;
$i++;
}
return $ergebnisse;
}
function formatieren($ergebnisse, $css = 1) {
$news = "";
if ($css) {
foreach ($ergebnisse as $ergebnis) {
$titel = html_entity_decode($ergebnis["titel"], ENT_QUOTES);
$inhalt = html_entity_decode($ergebnis["inhalt"], ENT_QUOTES);
$news .= "<span class='titel'>";
$news .= $titel . "</span><br />";
$news .= "<span class='inhalt'>";
$news .= $inhalt . "</span><br />";
}
} else {
$news .= "<table><tr><th>Titel</th><th>Inhalt</th></tr>";
foreach ($ergebnisse as $ergebnis) {
$titel = html_entity_decode($ergebnis["titel"], ENT_QUOTES);
$inhalt = html_entity_decode($ergebnis["inhalt"], ENT_QUOTES);
$news .= "<tr><td>" . $titel;
$news .= "</td><td>" . $inhalt;
$news .= "</td></tr>";
}
$news .= "</table>";
}
return $news;
}
function formatieren_bearbeiten($ergebnisse) {
$news = "";
foreach ($ergebnisse as $ergebnis) {
$titel = html_entity_decode($ergebnis["titel"], ENT_QUOTES);
$inhalt = html_entity_decode($ergebnis["inhalt"], ENT_QUOTES);
$news .= "<a href='bearbeiten.php?datei=" . urlencode($ergebnis["id"]) . "'>";
$news .= $titel . "</a><br />";
$news .= "<span class='inhalt'>";
$news .= $inhalt . "</span><br />";
}
return $news;
}
}
?>
bearbeiten.inc
<?php
class bearbeiten {
private $aufruf;
function __construct() {
$this->aufruf = new abfrage("localhost", "root", "", "minired");
}
function __destruct() {
unset($this->aufruf);
}
function daten_abfragen($id = 0) {
if($id != 0) {
$abfrage = $this->aufruf->abfragen("SELECT * FROM artikel WHERE id='" . mysqli_escape_string($this->aufruf->connect, $id) . "'");
return $abfrage->fetch_assoc();
} else {
return array("titel"=>"", "inhalt"=>"", "datum"=>"");
}
}
function daten_speichern($id = 0) {
if(isset($_POST["Bearbeiten"]) && $_POST["Bearbeiten"] == "Speichern") {
$titel = mysqli_escape_string($this->aufruf->connect, $_POST["titel"]);
$inhalt = mysqli_escape_string($this->aufruf->connect, $_POST["inhalt"]);
$datum = mysqli_escape_string($this->aufruf->connect, $_POST["datum"]);
if($id != 0) {
$sql = "UPDATE artikel SET titel='" . $titel . "', inhalt='";
$sql .= $inhalt . "', datum='" . $datum;
$sql .= "' WHERE id='" . mysqli_escape_string($this->aufruf->connect, $id) . "'";
$aktualisieren = $this->aufruf->abfragen($sql);
} else {
$sql = "INSERT INTO artikel (titel, inhalt, datum) VALUES ('" . $titel . "', '";
$sql .= $inhalt . "', '" . $datum . "')";
$einfuegen = $this->aufruf->abfragen($sql);
}
}
}
}
?>
bearbeiten.php
<?php
include_once("datenbank.inc.php");
include_once("anzeigen.inc.php");
include_once("login.inc.php");
include_once("bearbeiten.inc.php");
$log = new login();
$log->session_pruefen();
$bearbeiten = new bearbeiten();
if (isset($_GET["datei"])) {
$bearbeiten->daten_speichern($_GET["datei"]);
$daten = $bearbeiten->daten_abfragen($_GET["datei"]);
} else {
$bearbeiten->daten_speichern();
$daten = $bearbeiten->daten_abfragen();
}
unset($log);
unset($anzeigen);
unset($bearbeiten);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MiniRed - Administrationsbereich</title>
<link href="style.css" rel="stylesheet">
<script type="text/javascript">
_editor_url = "htmlarea/";
_editor_lang = "de";
var editor = null;
function initEditor() {
editor = new HTMLArea("inhalt");
var cfg = editor.config; //Eigenständige Konfiguration der Schaltflächen
cfg.toolbar = [
[ "fontname", "space",
"fontsize", "space",
"formatblock", "space",
"bold", "italic", "underline", "strikethrough", "separator",
"subscript", "superscript" ],
[ "copy", "cut", "paste", "space", "undo", "redo", "separator",
"justifyleft", "justifycenter", "justifyright", "justifyfull", "separator",
"lefttoright", "righttoleft", "separator",
"insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator",
"forecolor", "hilitecolor", "separator",
"inserthorizontalrule", "createlink", "htmlmode"]
];
editor.generate();
}
</script>
<script type="text/javascript" src="htmlarea/htmlarea.js"></script>
</head>
<body onload="initEditor()">
<div class="header">
<h1>Mini<span class="red">Red</span></h1>
<h2>Administrationsbereich</h2>
</div>
<div class="news" style="width:800px; left:100px">
<h3>Bearbeiten</h3>
<form method="POST">
<input type="text" name="titel" value="<?=$daten["titel"] ?>" /> Titel<br />
<textarea name="inhalt" id="inhalt" style="width:800px" rows="20" cols="80"><?=html_entity_decode($daten["inhalt"]) ?></textarea><br />
<input type="text" name="datum" value="<?=$daten["datum"] ?>" /> Datum<br />
<input type="submit" name="Bearbeiten" value="Speichern" /><br />
<a href="admin.php">Zurück</a>
</form>
</div>
</body>
</html>
datenbank.inc
<?php
class abfrage {
private $server;
private $user;
private $pswd;
private $db;
public $connect;
function __construct($server, $user, $pswd, $db) {
$this->server = $server;
$this->user = $user;
$this->pswd = $pswd;
$this->db = $db;
$this->connect = new mysqli($this->server, $this->user, $this->pswd, $this->db);
if (mysqli_connect_errno()) {
printf("Verbindung gescheitert: %s\n", mysqli_connect_error());
exit();
}
}
function abfragen($query) {
if($ergebnisse = $this->connect->query($query)) {
return $ergebnisse;
} else {
return "";
}
}
function __destruct() {
$this->connect->close();
}
}
?>
index.php
<?php
include_once("datenbank.inc.php");
include_once("anzeigen.inc.php");
include_once("login.inc.php");
$log = new login();
$log->ausloggen();
$log->session_pruefen();
$anzeigen = new anzeigen();
$news_roh = $anzeigen->bereitstellen();
$news = $anzeigen->formatieren($news_roh);
unset($log);
unset($anzeigen);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MiniRed</title>
<link href="style.css" rel="stylesheet" />
</head>
<body>
<div class="header">
<h1>Mini<span class="red">Red</span></h1>
<h2>Das kleine Redaktionssystem</h2>
</div>
<div class="news">
<h3>News</h3>
<?=$news ?>
</div>
<div class="login">
<p>Administration</p>
<form action="admin.php" method="POST">
<input type="text" name="user" /> UID<br />
<input type="password" name="pass" /> PSWD<br /><br />
<input type="submit" name="einloggen" value="Login" />
</form>
</div>
</body>
</html>
login.inc
<?php
include_once("datenbank.inc.php");
include_once("anzeigen.inc.php");
include_once("login.inc.php");
$log = new login();
$log->ausloggen();
$log->session_pruefen();
$anzeigen = new anzeigen();
$news_roh = $anzeigen->bereitstellen();
$news = $anzeigen->formatieren($news_roh);
unset($log);
unset($anzeigen);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MiniRed</title>
<link href="style.css" rel="stylesheet" />
</head>
<body>
<div class="header">
<h1>Mini<span class="red">Red</span></h1>
<h2>Das kleine Redaktionssystem</h2>
</div>
<div class="news">
<h3>News</h3>
<?=$news ?>
</div>
<div class="login">
<p>Administration</p>
<form action="admin.php" method="POST">
<input type="text" name="user" /> UID<br />
<input type="password" name="pass" /> PSWD<br /><br />
<input type="submit" name="einloggen" value="Login" />
</form>
</div>
</body>
</html>
Zuletzt bearbeitet von einem Moderator: