Schleifenfehler unbekannt

  • Hallo :)

    ich habe eine kleine Funktion namens steuer().
    Diese Funktion guckt wie groß der Abstand der letzten Steuereinnahme als mktime() ($time) und des aktuellen Datums ($mk).
    Es gibt maximal 17 Abstände, die sich umso mehr Durchläufe es gab erhöht werden.
    Die Abstände werden auf die letzte Steuereinnahme "draufgeschlagen". Sobald der Durchlauf der Schleife kommt, wo die Summe der letzten Steuereinnahme+Abstand größer ist als die aktuelle Zeit (mktime()) soll die aus einer Datenbank geholten Moral verringert werden und je mehr Durchläufe es gab desto größer ist auch der Abstand.

    Hier die Syntax:

    Die Funktion befindet sich in der function.inc und wird in der overview.inc aufgerufen, sobald der Link "Steuern einnehmen" angeklickt wurde.
    Doch wenn ich den Link anklicke passiert leider nichts weiter und es gibt keine Ausgabe, auch wenn ich die Ausgabe wie folgt mache:

    PHP
    echo '<script type="text/javascript">alert(\''.$moral.'\');</script>';

    Kann mir jemand helfen wo ich vill. einen Denk- oder Programmierfehler hab?


    lg

  • Ich bin es sowas von Leid!!!!!!!!!!!!!!!

    Wann, bitte wann fängst du endlich mal alleine damit an:

    Richtig debuggen

    • Man bemerkt, dass ein Skript nicht das tut, was es soll.
    • Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    • Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    • Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    • An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    • Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    • Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    • Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    • Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Ich sehe mal wieder nicht eine einzige Debug-Ausgabe! Wenn du keinen Bock hast, selbst die einfachsten Dinge in dein Script einzubauen, dann seh' zu, wie du mit deinem Sch.... alleine fertig wirst und belästige keine Leute in Foren!!!

  • Es ist ein Auszug aus der function.inc.
    In dieser Datei stehen alle Funktionen.
    Ich habe am Anfang dieser Datei und der overview.inc error_reporting eingeschaltet und habe das bereits gemacht!
    Es kommt kein Fehler.
    Tschuldigung das ich euch belästige..

  • Woher soll die Funktion $db kennen? Da muss ein Fehler bei rauskommen, wenn das Error-Reporting hochgedreht ist!!! Und wenn du nur ein einziges echo in deine dämliche while-Schleife eingebaut hättest, wäre dir aufgefallen, dass die Schleife nie durchlaufen wird, weil 17 niemals kleiner als 0 ist. :twisted: :twisted: :twisted:

    Ich schreibe jetzt besser nicht, was ich von dir halte. Es ist nicht das erste Mal, dass du durch mangelnde Eigeninitiative auffällst und solche Leute gehen mir echt auf die Cojones!

  • Die beiden hatte ich vertauscht, danke für die Anmerkung, habe es ausgebssert.
    Trotzdem funktioniert die Schleife nicht und wie ich sagte es kommt keine Fehlermeldung.
    Habe die function.inc als .php Datei abgespeichert und das error_reporting eingeschaltet und wenn ich die Seite aufrufe kommt nichts was bedeutet es existiert kein Fehler auf der Seite nach dem error_reporting her ...

    Und wenn du es so dramatisch findest das ich mal was frage dann antworte mir einfach nicht mehr.
    Du kannst gern von mir halten was du möchtest aber ich weiß das ich nun mal erst Anfänger bin und das error_reporting habe ich wie gesagt nicht vergessen!
    Die Funktion $db gehört da nicht hin, hatte das noch aus früheren Scripten, dass ich die Datenbankverbindung nicht in einer Funktion habe^^ Danke auch dafür^^

  • Du hast das Error-Reporting im Leben nicht hochgedreht, oder falsch hochgedreht oder was weiß ich!

    Die Funktion $db gehört da nicht hin


    1. ist $db keine Funktion und 2. würde PHP dir diese Zeile um die Ohren hauen, wenn das Error-Reporting hochgedreht wäre!

    Aber es geht ja nicht nur um das Error-Reporting! Du klatscht hier irgendeinen Quellcode rein und sagst "Guckt mal". Aber erst mal selber zu gucken und ein paar echo's in dein Script einzubauen, ist dir schon zuviel. Also erkäre mir, warum man dir noch helfen sollte, wenn du selber zu faul bist?!?!?! Zumal ich dir "Richtig debuggen" schon mehrfach gepostet habe und du das mehrfach ignoriert hast!