spin.de · die Community: Diskussions-Forum und Chat - Lern nette Leute kennen!

» Kostenlos anmelden
Sitemap
: Fatal error
richi2 männlich
Richard
11. Aug 2012 10:39

Fatal error

Hallo :)

ich versuche seit ca. 15 min. eine Fehler zu finden:

Fatal error: Cannot redeclare getUserID() (previously declared in ....functions.php:21) in ....functions.php on line 95

Der Fehler soll wieder in der letzten Zeile sein, deshalb vielleicht eine falsche oder fehlende klammer. Ich habe aber keinen Fehler gefunden :/ Ich poste einfach mal die function:


    1 function getUserID($db) {
    2     if (!is_object($db)) {
    3         return false;
    4     }
    5     if (!($db instanceof MySQLi)) {
    6         return false;
    7     }
    8     if (!isset($_COOKIE['UserID'], $_COOKIE['Password'])) {
    9         return false;
   10     }
   11     $sql = 'SELECT
   12                 ID
   13             FROM
   14                 User
   15             WHERE
   16                 ID = ? AND
   17                 Password = ?';
   18     $stmt = $db->prepare($sql);
   19     if (!$stmt) {
   20         return $db->error;
   21     }
   22     $stmt->bind_param('is', $_COOKIE['UserID'], $_COOKIE['Password']);
   23     if (!$stmt->execute()) {
   24         $str = $stmt->error;
   25         $stmt->close();
   26         return $str;
   27     }
   28     $stmt->bind_result($UserID);
   29     if (!$stmt->fetch()) {
   30         $stmt->close();
   31         return false;
   32     }
   33     $stmt->close();
   34     return $UserID;
   35 }

Sieht jemand einen Fehler?

Danke schonmal im Vorraus :) :) :)



Möchtest du mitreden?     Kostenlos Anmelden

psycon männlich
aus Karlsruhe (Baden- Württemberg)
11. Aug 2012 10:48

re

> <code>Fatal error: Cannot redeclare getUserID()
> (previously declared in ....functions.php:21) in
> ....functions.php on line 95</code>

Du hast die Funktion 2 mal deklariert, schmeiß eine Deklaration davon raus.



richi2 männlich
Richard
11. Aug 2012 11:49

sss

danke :)

Ich habe jetzt einen anderen Fehler:
Parse error: syntax error, unexpected '}' in ....index.php on line 71

Hier der Code:


    1 <?php
    2 error_reporting(E_ALL);
    3 ini_set('display_errors', 1);
    4 
    5 include 'constants.php';
    6 include 'functions.php';
    7 include 'classes.php';
    8 include 'variables.php';
    9 
   10 
   11 $db = @new MySQLi(localhost, ..., ..., ...);
   12 $ret = 1; // speichert den rückgabewert von include, standardwert 1
   13 if (mysqli_connect_errno()) {
   14     $ret = 'Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.
   15            mysqli_connect_error();
   16 } else if (is_string($error = getUserID($db))) { // String, also ein MySQL 
   17            Fehler
   18     $ret = $error; // die Fehlermeldung in $ret speichern, damit sie 
   19            angezeigt wird.
   20 } else {
   21     // Laden der Include-Datei
   22     // [...]
   23 }
   24 
   25 
   26 $ret = 1; // speichert den rückgabewert von include, standardwert 1
   27 // Laden der Include-Datei
   28 /*
   29  * Die Include-Datei muss eine return Anweisung enthalten mit folgenden
   30  * Werten:
   31  * - Bei normaler Ausführung
   32  *   Array('filename' => string, -- Dateiname vom Template
   33  *         'data' => Array())    -- Array mit Daten für das Template
   34  * - Bei einem Fehler
   35  *   string  -- Die Fehlermeldung die angezeigt werden soll.
   36  */
   37 if (isset($_GET['section'], $dateien[$_GET['section']])) {
   38     if (file_exists('includes/'.$dateien[$_GET['section']])) {
   39         $ret = include 'includes/'.$dateien[$_GET['section']]; 
   40     } else {
   41         $ret = "Include-Datei konnte nicht geladen werden: 'includes/".
   42                $dateien[$_GET['section']]."'";
   43     }
   44 } else {
   45     // default bereich laden, news
   46     $ret = include 'includes/'.$dateien['news'];
   47 }
   48 
   49 // Laden des HTML-Kopfs
   50 include 'templates/html_header.tpl';   // Doctype, <html>, <head>, <meta> 
   51 kram
   52 include 'templates/html_body_tag.tpl'; // Analog auch einfach echo "<body>";
   53 include 'templates/menu.tpl';          // falls man z.B. ein Menu haben 
   54 möchte
   55 
   56 // Laden der Template-Datei
   57 if (is_array($ret) and isset($ret['filename'], $ret['data']) and
   58         is_string($ret['filename']) and
   59         is_array($ret['data'])) {
   60     // Gültige Include-Datei
   61     if (file_exists($file = 'templates/'.$ret['filename'])) {
   62         $data = $ret['data']; // speicher die Arraydaten in eine Variable 
   63                 $data
   64                               // die dann im Template verwendet werden kann.
   65         include $file;
   66     } else {
   67         $data['msg'] = 'Templatedatei "'.$file.'" ist nicht vorhanden.';
   68         include 'templates/error.tpl';
   69     }
   70 } else if (is_string($ret)) {
   71     // Fehlermeldung
   72     $data['msg'] = $ret;
   73     include 'templates/error.tpl';
   74 } else if (1 === $ret) {
   75     // return wurde vergessen
   76     $data['msg'] = 'In der Include-Datei wurde die return Anweisung 
   77                    vergessen.';
   78     include 'templates/error.tpl';
   79 } else {
   80     // ein Ungültiger Return wert
   81     $data['msg'] = 'Die Include-Datei hat einen ungültigen Wert 
   82                    zurückgeliefert.';
   83     include 'templates/error.tpl';
   84 }
   85 
   86 // HTML footer laden
   87 include 'templates/html_footer.tpl';  // Zeug wie </body> und </html>
   88 ?>


richi2 männlich
Richard
11. Aug 2012 12:29

schon ok

habe den Fehler jetzt gefunden :)



StarAdmiral männlich
Stefan aus nähe Landau Isar (Bayern)
12. Aug 2012 12:46

woran lags

hallo würde mich interessiern worans lag



richi2 männlich
Richard
27. Aug 2012 18:28

Kp

weiß nicht mehr, hat auf einmal wieder geklappt. Habe nur irgendetwas gelöscht :)

aber ich habe das auch fast aufgegeben, weil da ein Fehler nach den anderen kommt und ich kann ja spin.de nicht voll texten, weil ich php nicht gerafft bekomme :/ :-(