Social Media
Foren
Start probleme
|
bzw. wenn du noch nicht so weit bist auch in der index.php: http://blog.stevieswebsite.de/2009/05/cms-menue-klasse/
Hallo,
Da ich ebenfalls gewisse Startprobleme habe, wollte ich mich hier einmal erkundigen. Bisher habe ich es anhand des Tutorials und der in den Kommentaren aufgezeigten Lösungsideen bis Kapitel 14 mit dem Skincontroller geschafft. Allerdings bekomme ich nun gewisse Fehlermeldungen, die mir zum einen nichts sagen und zum anderen mit eben diesem Skincontroller zusammenhängen. Wenn ich die index.php im hauptverzeichnis(htdocs/cms) aufrufe erhalte ich folgende Fehlermeldungen:
Index.php im cms verzeichnis
htaccess im cms verzeichnis
filterfilename im cms/system verzeichnis
skincontroller.php im verzeichnis cm/system/classes
Ich denke mal das waren alle relevanten Dateien. Falls der Beitrag nicht passt mache ich gerne einen extra Thread auf.
MfG
El Majore
PS: ich weiss auch nicht aber irgendwie will der phpcode nicht in lesbares Format...
Da ich ebenfalls gewisse Startprobleme habe, wollte ich mich hier einmal erkundigen. Bisher habe ich es anhand des Tutorials und der in den Kommentaren aufgezeigten Lösungsideen bis Kapitel 14 mit dem Skincontroller geschafft. Allerdings bekomme ich nun gewisse Fehlermeldungen, die mir zum einen nichts sagen und zum anderen mit eben diesem Skincontroller zusammenhängen. Wenn ich die index.php im hauptverzeichnis(htdocs/cms) aufrufe erhalte ich folgende Fehlermeldungen:
Da ich in einer PN bereits den Tipp mit den Unterverzeichnissen erhalten habe hier die Inhalte einiger Dateien, ich hoffe dies hilft:Zitat
Notice: Undefined index: include in C:\xampp\htdocs\cms\index.php on line 14
Die angegebene Seite existiert nicht!(inhalt der 404.php im errors-verzeichnis)
Strict Standards: Non-static method SkinController::getCurrentSkinPath() should not be called statically in C:\xampp\htdocs\cms\index.php on line 15
Strict Standards: Non-static method SkinController::getCurrentSkinName() should not be called statically in C:\xampp\htdocs\cms\system\classes\skincontroller.php on line 21
Strict Standards: Non-static method SkinController::getCurrentSkinId() should not be called statically in C:\xampp\htdocs\cms\system\classes\skincontroller.php on line 11
Test erfolgreich!(inhalt der test.php im skins/default verzeichnis)
Index.php im cms verzeichnis
PHP-Quelltext |
|
1 |
<!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/classes/skincontroller.php"); include("system/filterfilename.php"); include(filterfilename("content/articles/".$_GET['include'])); include(SkinController::getCurrentSkinPath()."/test.php"); ?> </body></html>
|
htaccess im cms verzeichnis
PHP-Quelltext |
|
1 2 |
Options +FollowSymlinks
RewriteEngine on RewriteCond %{REQUEST_URI} cms/(.*).htmlRewriteRule (.*) index.php?include=%1
|
filterfilename im cms/system verzeichnis
PHP-Quelltext |
|
1 |
<?PHPfunction filterfilename($filename){ $filename = strtolower($filename); $filename = preg_replace("/[^a-z0-9\-\/]/i","",$filename); if($filename[0] == "/"){ $filename = substr($filename,1); } $filename .= ".php"; if(!file_exists($filename)){ $filename = "content/articles/errors/404.php"; } return $filename;}?>
|
skincontroller.php im verzeichnis cm/system/classes
PHP-Quelltext |
|
1 2 3 4 |
<?PHPclass 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(); }}?>
|
Ich denke mal das waren alle relevanten Dateien. Falls der Beitrag nicht passt mache ich gerne einen extra Thread auf.
MfG
El Majore
PS: ich weiss auch nicht aber irgendwie will der phpcode nicht in lesbares Format...
|
Such mal nach error_reporting. Nimm dort mal E_ERROR | E_WARNING | E_PARSE.
http://php.net/manual/de/function.error-reporting.php.
http://php.net/manual/de/function.error-reporting.php.
es ist wieder soweit...
system/classes/page.php
index.php(hauptverzeichnis):
system/sys.php
PS: Man muss den PHP-Code im Quellcode einfügen und nicht im editor der entfernt anscheinend unnötige whitespaces
MfG
El Majore
die dateien:Zitat
Fatal error: Class 'Page' not found in C:\xampp\htdocs\index.php on line 8
system/classes/page.php
PHP-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?PHP
class Page{
var $id = -1;
var $alias = '';
var $title = '';
function loadProperties($alias){
global $dbpraefix;
$res = mysql_query("SELECT id,title FROM ".$dbpraefix."pages
WHERE alias = '".$alias."'");
if($row = mysql_fetch_row($res)){
$this->id = $row[0];
$this->title = $row[1];
$this->alias = $alias;
}
}
function getContent(){
include(filterfilename("../content/articles/".$this->alias));
}
}
?>
|
index.php(hauptverzeichnis):
PHP-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 |
<?PHP
error_reporting(E_ERROR | E_WARNING | E_PARSE);
include("system/dbconnect.php");
include("system/settings.php");
include("system/classes/skincontroller.php");
include("system/filterfilename.php");
include("system/sys.php");
$currentpage = new Page();
$currentpage->loadProperties($_GET['include']);
include(SkinController::getCurrentSkinPath()."/test.php");
?>
|
system/sys.php
PHP-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?PHP
class sys{
function includeContent(){
global $currentpage;
$currentpage->getContent();
}
function includeHeader(){
global $dbpraefix,$currentpage;
echo "<title>".$currentpage->title."</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />";
$res = mysql_query("SELECT name, content
FROM ".$dbpraefix."meta_global
UNION SELECT name, content
FROM ".$dbpraefix."meta_local
WHERE page = '".$currentpage->id."'");
while($row = mysql_fetch_row($res)){
echo "<meta name="".$row[0]."" content="".$row[1]."" />";
}
}
}
?>
|
PS: Man muss den PHP-Code im Quellcode einfügen und nicht im editor der entfernt anscheinend unnötige whitespaces
MfG
El Majore
der include hat gefehlt, wohl übersehen... was ist eigentlich mit autoloader gemeint?
wo ist eigentlich der like button?
naja was muss ich eigentlich genau aufrufen bei dem breadcrump-kapitel?
testseite3.htm ist erstellt aber wie muss ich die aufrufen?
mit index.php?include=testseite3.htm??? Da kommt test erfolgreich egal was ich eingebe
nur wenn ich die datei direkt anwähle also über:
content/articles/testseite3.htm erhalte ich die ausgabe des inhalts aber ohne navigation
Wie wird eigentlich die verbindung zum content/articles inhalt aufgebaut?
Vielleicht habe ich dort ja einen Fehler.
MfG El Majore
PS: Ich hoffe ich störe nicht zu sehr. Ich bin noch ein sehr blutiger Anfänger in php.
wo ist eigentlich der like button?
naja was muss ich eigentlich genau aufrufen bei dem breadcrump-kapitel?
testseite3.htm ist erstellt aber wie muss ich die aufrufen?
mit index.php?include=testseite3.htm??? Da kommt test erfolgreich egal was ich eingebe
nur wenn ich die datei direkt anwähle also über:
content/articles/testseite3.htm erhalte ich die ausgabe des inhalts aber ohne navigation
Wie wird eigentlich die verbindung zum content/articles inhalt aufgebaut?
Vielleicht habe ich dort ja einen Fehler.
MfG El Majore
PS: Ich hoffe ich störe nicht zu sehr. Ich bin noch ein sehr blutiger Anfänger in php.
|
- Der Autoloader lädt die Klassen automatisch, wenn sie nicht da sind. In der aktuellen Version sieht der so aus: http://code.contentlion.de/filedetails.p…%2Fautoload.php
- Hier: http://www.facebook.com/contentlion
- Verstehe deine Frage nicht ;-)
- index.php?include=testseite3 sollte es eigentlich sein
- ich glaub das war in der page klasse, den gibt's derzeit nichtmehr, musst mir mal deinen Stand zuschicken, dann kann ich genaueres sagen.
- Störst nicht ;-)
- Hier: http://www.facebook.com/contentlion
- Verstehe deine Frage nicht ;-)
- index.php?include=testseite3 sollte es eigentlich sein
- ich glaub das war in der page klasse, den gibt's derzeit nichtmehr, musst mir mal deinen Stand zuschicken, dann kann ich genaueres sagen.
- Störst nicht ;-)
ok, dort hab ich die funktion:
in welches verzeichnis muss dieser autoloader?
Was genau erzeugt die Fehlermeldung:
PHP-Quelltext |
|
1 2 3 |
function getContent() {
include(filterfilename("../content/articles/".$this->alias));
}
|
in welches verzeichnis muss dieser autoloader?
Was genau erzeugt die Fehlermeldung:
Zitat
Fatal error: Class 'Page' not found in C:\xampp\htdocs\index.php on line 8