Nunja, nach vielen gescheiterten Versuchen klemme ich mich nun hinter eine Seite mit Sinn!
Aber leider hab ich nun ein Problem.
Die HP ist so aufgebaut:
index.php (inkludiert "config.php")
--> config.php (inkludiert "section.php","functions.php")
----> section.php (da stehen alle Sections in Arrays drin, ist aber unwichtig)
----> functions.php (da stehen zwei Funktion drin, die die Rechte bestimmt)
Die HP ist ein bisschen nach dem Tut von Quakenet (tut.php-q.net) aufgebaut.
Über ein Formular auf der index.php loggt man sich ein. Das Formular wird an "index.php?section=user&action=login" geleitet. Auf meinem Webserver läuft alles ohne Probleme, nur im Internet geht es nicht. Vllt liegt es an der PHP Version, allerdings habe ich nur PHP 5 gelernt.
Auf "index.php?section=user&action=login" wird folgendes angezeigt.
Code:
Fatal error: Cannot redeclare getrights() (previously declared in /www/htdocs/v166283/offline/functions.php:5) in /www/htdocs/v166283/offline/functions.php on line 3
Die functions.php sieht so aus:
PHP-Code:
<?php
function getRights()
{
$sql = "SELECT recht FROM rights WHERE userid = '". $_SESSION['ID'] ."'";
$result = mysql_query($sql) or die (mysql_error());
$rights = array();
while($row = mysql_fetch_assoc($result))
{
$rights[] = $row['recht'];
}
return $rights;
}
function noRights()
{
echo "<span class=\"error\">Du hast keine Berechtigung, diese Seite zu betreten!</span>\n";
}
?>
Ich hab keine Ahnung, wo der Fehler liegt. Auf der Seite mit der Fehlermeldung habe ich schon probiert, mit "die()" den Fehler einzugrenzen. Aber selbst, wenn ich "die()" an die erste Position setze, wird der Fehler nicht ausfindig gemacht.
Ich habe gelesen, dass dieser Fehler was mit doppelt inkludierten Dateien zu tun hat und man "include_once" oder "require_once" schreiben muss. Aber ich finde nicht, wo ich das einsetzen soll. Ich habe da schon alles mögliche geschrieben, es klappt aber nicht.
Falls ihr noch Dateien braucht, die ich hier zeigen soll, sagt Bescheid.
