Social Media
Foren
Hilfe zum Tutorial Punkt 14
Hilfe zum Tutorial Punkt 14
Hallo zusammen,
ich habe mich heute angemeldet weil ich nun doch eine Frage habe bezgl. des Tutorials habe. Ich finde das Tutorial sehr gut, habe so etwas schon lange gesucht und bin nun bei Euch fündig geworden.
Ich habe das Tutorial heute angefangen und es hat auch ohne Probleme funtioniert. Nun bin ich an einem Punkt angekommen wo es ein wenig hakt.
Zu erst mal Infos zu meinem System.
Mein Betriebssystem ist Windows7 Prof.
Der Apache Webserver ist XAMPP 1.8.1
Der Apache und MySQL werden über die xampp-controller.exe gestartet.
Die Scripte liegen in c:\xampp\htdocs\ofbcms
Wie im Titel schon beschrieben bin ich nun bei Punkt 14 angekommen (PHP SkinController)
Wenn ich nun die Seite folgendermaßen aufrufe bekomme ich folgende Fehlermeldung.
Aufruf: localhost/ofbcms/testseite.htm
Fehlermeldung:
Testseite
Fatal error: Class 'SkinController' not found in C:\xampp\htdocs\ofbcms\index.php on line 14
anbei meine index.php
Die Datei skincontroller.php liegt im Verzeichnis system\classes und sieht so aus.
Bis zum Punkt 13 hat alles ohne Probleme funktioniert, also funktionieren die Datenbank Verbindung u.s.w.
Wieso kann er die Klasse SkinController nicht finden. Ich habe die Schreibweise und die Speicherpläte der Dateien überprüft und keine Fehler festellen können.
Vieleicht könnt Ihr mir ja helfen und sagen woran es liegt.
Vielen Dank für Eure Hilfe im Voraus.
Gruß
Nopileos
ich habe mich heute angemeldet weil ich nun doch eine Frage habe bezgl. des Tutorials habe. Ich finde das Tutorial sehr gut, habe so etwas schon lange gesucht und bin nun bei Euch fündig geworden.
Ich habe das Tutorial heute angefangen und es hat auch ohne Probleme funtioniert. Nun bin ich an einem Punkt angekommen wo es ein wenig hakt.
Zu erst mal Infos zu meinem System.
Mein Betriebssystem ist Windows7 Prof.
Der Apache Webserver ist XAMPP 1.8.1
Der Apache und MySQL werden über die xampp-controller.exe gestartet.
Die Scripte liegen in c:\xampp\htdocs\ofbcms
Wie im Titel schon beschrieben bin ich nun bei Punkt 14 angekommen (PHP SkinController)
Wenn ich nun die Seite folgendermaßen aufrufe bekomme ich folgende Fehlermeldung.
Aufruf: localhost/ofbcms/testseite.htm
Fehlermeldung:
Testseite
Fatal error: Class 'SkinController' not found in C:\xampp\htdocs\ofbcms\index.php on line 14
anbei meine index.php
PHP-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Kommt in einen späteren Beitrag</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
include("system/dbconnect.php");
include("system/settings.php");
include("system/filterfilename.php");
include(filterfilename("content/articles/" . $_GET['include']));
include(SkinController::getCurrentSkinPath() . "/test.php");
?>
</body>
</html>
|
Die Datei skincontroller.php liegt im Verzeichnis system\classes und sieht so aus.
PHP-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php
class SkinController{
function getCurrentSkinId(){
return getSetting("selectedskin");
}
function getCurrentSkinName(){
global $dbpraefix;
$res = mysql_query("SELECT name FROM ".$dbpraefix."skins
WHERE id = '".SkinController::getCurrentSkinId()."'");
if($row = mysql_fetch_row($res)){
return $row[0];
}
else{
return "default";
}
}
function getCurrentSkinPath(){
return "system/skins/".SkinController::getCurrentSkinName();
}
}
?>
|
Bis zum Punkt 13 hat alles ohne Probleme funktioniert, also funktionieren die Datenbank Verbindung u.s.w.
Wieso kann er die Klasse SkinController nicht finden. Ich habe die Schreibweise und die Speicherpläte der Dateien überprüft und keine Fehler festellen können.
Vieleicht könnt Ihr mir ja helfen und sagen woran es liegt.
Vielen Dank für Eure Hilfe im Voraus.
Gruß
Nopileos
Oh je,
manchmal sieht man den Wald vor lauter Bäumen nicht.
Wenn man in der index.php die Datei skincontroller.php nicht included kann das natürlich nichts werden
include("system/classes/skincontroller.php");
allerdings habe ich jetzt folgende Ausgabe:
Testseite
Strict Standards: Non-static method SkinController::getCurrentSkinPath() should not be called statically in C:\xampp\htdocs\ofbcms\index.php on line 18
Strict Standards: Non-static method SkinController::getCurrentSkinName() should not be called statically in C:\xampp\htdocs\ofbcms\system\classes\skincontroller.php on line 23
Strict Standards: Non-static method SkinController::getCurrentSkinId() should not be called statically in C:\xampp\htdocs\ofbcms\system\classes\skincontroller.php on line 13
Test erfolgreich
Was bedeutet das und wie kann ich den Fehler denn abstellen?
Gruß
Nopileos
manchmal sieht man den Wald vor lauter Bäumen nicht.
Wenn man in der index.php die Datei skincontroller.php nicht included kann das natürlich nichts werden
include("system/classes/skincontroller.php");
allerdings habe ich jetzt folgende Ausgabe:
Testseite
Strict Standards: Non-static method SkinController::getCurrentSkinPath() should not be called statically in C:\xampp\htdocs\ofbcms\index.php on line 18
Strict Standards: Non-static method SkinController::getCurrentSkinName() should not be called statically in C:\xampp\htdocs\ofbcms\system\classes\skincontroller.php on line 23
Strict Standards: Non-static method SkinController::getCurrentSkinId() should not be called statically in C:\xampp\htdocs\ofbcms\system\classes\skincontroller.php on line 13
Test erfolgreich
Was bedeutet das und wie kann ich den Fehler denn abstellen?
Gruß
Nopileos
|
Hallo Nopileos,
erstmal willkommen im Forum ;-)
Das Tutorial wurde damals (leider) nicht mit strikteren PHP-Standards entwickelt, deswegen bekommst du diese Hinweise.
Du kannst einfach folgendes am Anfang der index.php setzen oder die Einstellung in der php.ini ändern:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
erstmal willkommen im Forum ;-)
Das Tutorial wurde damals (leider) nicht mit strikteren PHP-Standards entwickelt, deswegen bekommst du diese Hinweise.
Du kannst einfach folgendes am Anfang der index.php setzen oder die Einstellung in der php.ini ändern:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
Hi Stefan,
danke für die nette Begrüßung.
Ich habe Deinen Vorschlag jetzt in der php.ini eingetragen und es funktioniert einwandfrei.
Ich bin jetzt in der Zwischenzeit bei Punkt 21 angekommen.
Was ich allerdings festgestellt habe ist, dass die testseite2.htm und testseite2.htm bei mir nur funktionieren wenn ich sie umbenenne in testseite2.php und testseite3.php.
Hat das evtl etwas mit der .htaccess zu tun?
Nochmal vielen Dank
Gruß
Nopileos
danke für die nette Begrüßung.
Ich habe Deinen Vorschlag jetzt in der php.ini eingetragen und es funktioniert einwandfrei.
Ich bin jetzt in der Zwischenzeit bei Punkt 21 angekommen.
Was ich allerdings festgestellt habe ist, dass die testseite2.htm und testseite2.htm bei mir nur funktionieren wenn ich sie umbenenne in testseite2.php und testseite3.php.
Hat das evtl etwas mit der .htaccess zu tun?
Nochmal vielen Dank
Gruß
Nopileos
Herzlich Willkommen im Forum!
Die skincontroller.php müsste so aussehen, dass keine Fehlermeldungen mehr angezeigt werden:
Also das "public static" hat vor den Methoden gefehlt.
Die skincontroller.php müsste so aussehen, dass keine Fehlermeldungen mehr angezeigt werden:
PHP-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php
class SkinController{
public static function getCurrentSkinId(){
return getSetting("selectedskin");
}
public static function getCurrentSkinName(){
global $dbpraefix;
$res = mysql_query("SELECT name FROM ".$dbpraefix."skins
WHERE id = '".SkinController::getCurrentSkinId()."'");
if($row = mysql_fetch_row($res)){
return $row[0];
}
else{
return "default";
}
}
public static function getCurrentSkinPath(){
return "system/skins/".SkinController::getCurrentSkinName();
}
}
?>
|
Also das "public static" hat vor den Methoden gefehlt.
Hallo JuKu,
auch Dir vielen Dank für die nette Begrüßung.
Ich hatte ja schon die php.ini angepasst wie Stefan es beschrieben hatte. Danach waren die Warnmeldungen nicht mehr vorhanden. Ich habe jetzt noch die Funktionen mit public static deklariert.
Ist das jetzt doppelt gemoppelt, oder sollte man die Eintragung in der php.ini bezgl des error_reporting wieder Rückgänging machen, denn funktionieren tut es ja.
Die installierte PHP Version ist 5.4.7
Apache ist Version 2.4.3
Gruß
Nopileos
auch Dir vielen Dank für die nette Begrüßung.
Ich hatte ja schon die php.ini angepasst wie Stefan es beschrieben hatte. Danach waren die Warnmeldungen nicht mehr vorhanden. Ich habe jetzt noch die Funktionen mit public static deklariert.
Ist das jetzt doppelt gemoppelt, oder sollte man die Eintragung in der php.ini bezgl des error_reporting wieder Rückgänging machen, denn funktionieren tut es ja.
Die installierte PHP Version ist 5.4.7
Apache ist Version 2.4.3
Gruß
Nopileos
Ähnliche Themen
-
- Hilfe fürs CMS Tutorial »
- Breadcrumb Problem und mehr (5. Juni 2013, 19:21)
-
- Hilfe fürs CMS Tutorial »
- Positionen für Plugins (23. Juni 2013, 17:29)
-
- Hilfe fürs CMS Tutorial »
- Punkt 47: Menüs im Admin-Bereich auflisten (1. April 2012, 18:42)