Hi.
Passt auf:
##########################
settings/main.inc.php:
#########################
$guestbooktable='gaestebuch';
echo "warum?";
?>
#########################
index.php?s=guestbook:
########################
<?php
include('settings/main.inc.php');
include('classes/secure_navigation_url_handling.php');
?>
<html>
<head>
</head>
<body>
<?php
$show=$_GET['s'];
$secure_navigation_url_handling=new secure_navigation_url_handling($show);
$secure_navigation_url_handling->url_usen();
?>
</body>
</html>
########################
contents/guestbook.php:
########################
<p><a href='/buysocial.de/writeComment'>Geben sie <strong>hier</strong> Ihre Meinung ab!</a></p>
<?php
# include('settings/main.inc.php'); # Wenn ich das nicht angebe, kommt ne Fehlermeldung
// Voreinstellungen
if(isset($_GET['cfrom'])&&isset($_GET['cto'])){
$c_position=$_GET['cfrom'];$c_anzahl=$_GET['cto'];
}
if(!isset($_GET['cto'])||!isset($_GET['cfrom'])){$c_position=0;$c_anzahl=10;}
// Daten aus der Datenbank holen
$q="SELECT xx
FROM ".$guestbooktable." WHERE titel!='' ORDER BY zeit LIMIT ".$c_position.",".$c_anzahl;
$r=mysql_query($q) or die("Fehler: ".mysql_error());
// Ergebnise ausgeben
while($tmp=mysql_fetch_array($r)) {
echo "
<div class='beitrag'>
<span class='date'>".$tmp['Datum']."
<span class='time'>Um: ".$tmp['Uhrzeit']."</span></span>
<h2 class='title'>".$tmp['titel']."</h2>
<div class='artikel'><br/>".$tmp['beitrag']."<p></p></div>
<div class='under'><br/>Author: <a href='mailto:".$tmp['email']."'>".$tmp['autor']."</a></div>";
}
$anzA=mysql_fetch_assoc(mysql_query("SELECT COUNT(*) AS anz FROM $guestbooktable"));
// Fußleiste der Beiträge(ganz unten / insgesamt) - Falls es mehr als einen Eintrag auf dieser Seite gibt
if($anzA['anz']>($c_anzahl+10))echo"<a href='index.php?s=guestbook&cfrom=".$c_anzahl."&cto=".($c_anzahl+10)."' class='naechstenArtikel'>Nächsten 10 Danksagungen ( ".($c_anzahl)." - ".($c_anzahl+10)." )</a>";
?>
##########################
classes/secure_navigation_url_handling.php:
#########################################
<?php
# Klasse secure_navigation_url_handling
class secure_navigation_url_handling {
# Attribute
public $showme;
public $parts=array();
public $path='contents';
# Konstruktor
function secure_navigation_url_handling($show){
$this->showme=$show;
$this->get_filenames();
$this->url_check();
}
# Methoden
// Alle Dateinamen aus dem >>>> Verzeichnis lesen und in array packen
function getFilenamesOfTheDir($path){
$filenamesOfTheDir=array();
if ($handle = opendir($this->path)) {
while (false !== ($file = readdir($handle))) {
array_push($filenamesOfTheDir, $file);
}
}
closedir($handle);
return $filenamesOfTheDir;
}
// Url sichern
function url_secure($show){
$show=htmlspecialchars(strip_tags(trim($_GET['s'])));
return $this->showme=$show;
}
// Alle Filenamen aus bestimmten Ordner herausbekommen und in ein Array packen
function get_filenames(){
$filenames=$this->getFilenamesOfTheDir($this->path);
foreach ($filenames as $filename){
array_push($this->parts, $filename);
}
}
// URL checken
function url_check(){
$this->get_filenames();
// Ist die eingegebene URL-Endung in den Verzeichnissen vorhanden?
$this->showme=$this->showme.".php";
if(!in_array($this->showme, $this->parts)){
$this->showme='aktuell.php';
}
return $this->showme;
}
// URL includen
function url_usen(){
include($this->path.'/'.$this->showme);
}
}
?>
Die Fehlermeldung:
Notice: Undefined variable: guestbooktable in C:\pfad\content\guestbook.php on line 12
Fehler: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE titel!='' ORDER BY zeit LIMIT 0,10' at line 3
Besser kann ichs nicht angeben, ihr habt den kompletten Code. Ich vermute das irgendwas mit der Klasse secure_navigation_url_handling nicht stimmt, aber irgendwie kann das ja auch nicht sein, includet ist includet...
Liebe Grüße, ich _hoffe_ ihr könnt mir helfen.
Phil