ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Onlinebox Fehlermeldung

Geschlossen
  1. #1
    User Pic
    Devilfighter Mitglied
    Registriert seit
    06.05.2009
    Beiträge
    44
    Beitragswertungen
    0 Beitragspunkte
    Hallo Leute,
    ich habe meine Onlinebox umgebaut so das dort ein Popup erscheint wenn man mit dem Courser über den Usernamen fährt.
    Soweit läuft auch alles richtig,allerdings nur wenn ich nicht eingeloggt bin.
    Sobald ich mich einlogge wird folgender Fehler angezeigt :

    MySQL Error:
    1064 : 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 '' at line 1
    in Query:
    SELECT name FROM `ic11o_grundrechte` WHERE id =

    Debug backtrace:
    @ mysql.php:32 -- debug_bt()
    @ mysql.php:50 -- db_check_error(...)
    @ mg_online.php:38 -- db_query(...)
    @ design.php:332 -- require_once(...)
    @ design.php:254 -- design->get_boxcontent(...)
    @ design.php:46 -- design->get_boxes(...)
    @ news.php:9 -- design->design(...)
    @ news.php:21 -- require_once(...)
    @ index.php:51 -- require_once(...)

    Und das Design wird zerrissen.

    Dies ist aber auch nur bei mir,
    bei allen anderen die sich einloggen kommt der Fehler nicht.

    Weis jemand einen Rat woran das liegen kann?????????????


    verwendete ilch Version: 1.1 O

    betroffene Homepage: externer Link


    Zuletzt modifiziert von Devilfighter am 25.10.2014 - 21:48:43
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Eine Variable ist nicht gesetzt, um zu sagen welche, bräuchte man die mg_online.php
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Devilfighter Mitglied
    Registriert seit
    06.05.2009
    Beiträge
    44
    Beitragswertungen
    0 Beitragspunkte
    Hast nee PN mit der php
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Hättest du Ihn hier gepostet hätten dir vllt auch andere Helfen können zwinker
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Devilfighter Mitglied
    Registriert seit
    06.05.2009
    Beiträge
    44
    Beitragswertungen
    0 Beitragspunkte
    @Siggi
    Ja hätte ich machen können aber ich möchte nicht das andere diese Box auch haben.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    lachen
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Kann ich verstehen, ist ja was ganz besonderes die box ...
    2 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    $dif = date('Y-m-d H:i:s', time() - 60);
    $abf = "SELECT a.uid, b.avatar, b.recht FROM `prefix_online` a LEFT JOIN prefix_user b ON a.uid = b.id WHERE uptime > '". $dif."'";
    $resultID = db_query($abf);
    $brk='';
    $uid = array();
    $guests = 0;
    $guestn = $lang['guests'];
    $content='';
    
    
            while ($row = db_fetch_object($resultID)) {
    
            $homepage = @db_result(db_query('SELECT homepage FROM `prefix_user` WHERE id = '.$row->uid),0);
    		//Änderungen von Sebastian Span (blacksurgeon) 25.10.2014
    		$llogin = @db_result(db_query('SELECT llogin FROM `prefix_user` WHERE id = '.$row->uid),0);
    		$posts = @db_result(db_query('SELECT posts FROM `prefix_user` WHERE id = '.$row->uid),0);
    		$bday = @db_result(db_query('SELECT gebdatum FROM `prefix_user` WHERE id = '.$row->uid),0);
    		$reg = @db_result(db_query('SELECT regist FROM `prefix_user` WHERE id = '.$row->uid),0);
    		$trank = @db_result(db_query('SELECT recht FROM `prefix_user` WHERE id = '.$row->uid),0);
    		$rank = @db_result(db_query('SELECT name FROM `prefix_grundrechte` WHERE id ='.$trank),0);


    Der Fehler kann eigentlich nur passieren, wenn in $row->uid eine falsche Userid drin steht, was wiederum der Fall ist, wenn der gerade eingeloggte Benutzer keine BenutzerId hat.
    Das sollte eigentlich bei jedem Gast der Fall sein, dein Problem ist eher, dass diese Datenbankfehler nur für Admins angezeigt werden. Das @ vor den jeweiligen Zeilen sorgt dafür, dass die Fehler bei anderen nicht angezeigt werden.

    Der Code ist gelinde gesagt ungünstig geschrieben. Den Fehler verhindern, kannst du, wenn du die ganzen Abfragen von Zeile 31 - 39 in ein if packst, auch wenn das den Code nicht besser macht zunge

    if (!empty($row->uid)) {
    //Zeile 31-39
    } else {
    $homepage = $llogin = ''; //hier dann noch die ganzen andern variablen aus Zeile 31-39 einfügen
    }



    Zuletzt modifiziert von Mairu am 26.10.2014 - 10:12:07
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Devilfighter Mitglied
    Registriert seit
    06.05.2009
    Beiträge
    44
    Beitragswertungen
    0 Beitragspunkte
    Dank dir Mairu,
    so geht es jetzt.

    Aber mal nee Frage.
    Könntest du mir den Code so schreiben das ich das If nicht brauche?

    MFG
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Mensch Mairu, jetzt haben wir seinen halben Code zwinker
    @Devilfighter
    Wenn Du Hilfe in einem öffentlichen Forum suchst, mußt Du das eben in Kauf nehmen. Aber glaub mir, eine Onlinebox hat inzwischen jeder und sehr wahrscheinlich auf die eigenen Bedürfnisse angepaßt.


    Zuletzt modifiziert von Outi77 am 26.10.2014 - 10:21:57
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Devilfighter Mitglied
    Registriert seit
    06.05.2009
    Beiträge
    44
    Beitragswertungen
    0 Beitragspunkte
    Ich weis nicht warum hier jetzt so mancher Stänkern muss.
    ich möchte das halt nicht und das muss man dann auch so hinnehmen.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Das war gar nicht als Stänkern gemeint. Was ich sagen wollte ist, dass ein öffentliches Forum davon lebt, dass sich alle daran beteiligen. Das wird allerdings schwer, wenn Hilfesuchende ihre Anfragen nur per PN stellen. Wenn es blöd läuft, hilft Dir nächstes Mal niemand...
    Ansonsten respektiere ich grundsätzlich andere Menschen, mit dem
    ZitatZitat
    Einfach hinnehmen
    sieht es da schon anders aus zwinker
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ganz ehrlich, warum sollte ich das tun? ilch wird kostenlos angeboten, unter der GPLv2, du kannst ja gerne mal im Internet suchen, was das bedeutet.

    Außerdem habe ich (leider) genug andere Sachen zu machen, die dann mehr Leuten was bringen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten