Beiträge von noir

    Nein das ist nicht von der Distribution abhängig, sondern von dem Desktop-Manager, den du verwendest (z.B. GNOME, KDE,...)
    Das was seegras gepostet hat ist z.B GNOME 3, da du sagtest du benutzt Ubuntu, geh ich mal vom Standart Ubuntu aus, welches Unity als Desktop Manager hat.
    Ich kenn ich mit Unity zwar nicht aus, aber ich denke hier wirst du was dazu finden

    Wenn ich die Datei bei mir (Debian Wheezy 64bit) via

    Code
    php -f test.php

    ausführe funktioniert das einwandfrei ohne irgendeinen Fehler.
    Ich kann beim groben Drübergucken auch nichts erkennen, was zu diesem Fehler führen könnte, wie z.B. ein vergessenes Semikolon.
    Wenn ich das Semikolon hinter set_time_limit(0) entferne bekomme ich jedoch genau diesen Fehler.
    Vielleicht hast du eine fehlerhafte Version hochgeladen?

    Du willst also das Icon in der Taskleiste ändern?
    Wenn mit nich alles täuscht musst du dazu das Programm von der Taskleiste lösen (falls du keine Verknüpfung auf dem Desktop hast zieh sie dir aus der Taskleiste auf den Desktop), dann das Icon von der Verknüpfung ändern wie von Frosty beschrieben, und dann wieder anhefeten.


    mal davon abgesehen ist das glaube ich garnicht Chrome sondern Chromium

    Was für einen Fehler bekommst du denn? Und außerdem wo hast du das her, bzw wofür soll das sein? Weil reines Python ist das auch nicht, denn bei Python gibts weder Schlüsselwörter wie when, noch end oder quest.

    Ach klar, jetzt nachdem ich noch einmal drübergeschaut habe, habe ich gesehen, dass du die Datei falsch ausführst. Du führst die Datei in der Konsole direkt aus, jedoch ist das kein Shell Script, wodurch die Syntax natürlich komplett falsch ist und du diesen Fehler bekommst. Du musst die Datei, wie du es in deinem Cronjob ja schon richtig getan hast, mit php ausführen, also

    Code
    php -f dateiname.php

    Wenn du dir die PHP Manual Page zu define ansehen würdest, würdest du sehen, dass define() einen String verlangt. Du musst deinen Konstantennamen also in Anführungszeichen packen:

    PHP
    <?php define("FS_DIR", dirname(dirname(__FILE__)));


    Und dazu dass das im Brower trotzdem geht: Ein error wird trotzdem ausgegeben, jedoch nimmt PHP an, dass du deinen Konstantennamen eigentlich in Anführungszeichen packen wolltest, siehe error.log

    Code
    PHP Notice:  Use of undefined constant FS_DIR - assumed 'FS_DIR' in /var/www/test.php on line 2

    Du musst dir das mal vorstellen:
    Die While Schleife prüft vor jedem Durchgang die Kondition in den Klammern, in diesem Fall der Rückgabewert von mysqli_fetch_array, welcher solange nicht null ist, bis es in dem result keine Datensätze mehr gibt
    Das funktioniert ja auch in deinem Code ohne die Funktion

    PHP
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

    bei der du der Funktion dein result übergibst.
    Bei deinem Code bei dem du deine Funktion nutzt wird die Kondition natürlich auch genauso überprüft. Hier übergibst du mysqli_fetch_array jedoch nicht direkt das result, sondern das result in Form vom Rückgabewert deiner Funktion. Diese wird also nach jedem Schleifendurchgang neu aufgerufen und nach jedem Schleifendurchgang bekomst du ein neues result, was erklärt, warum du immer nur den ersten Datensatz bekommst.
    Und da mysqli_fetch_array dadurch also nie null zurückgibt, geht das immer so weiter

    PHP
    while($row = mysqli_fetch_array(getMaps('ASC', 10), MYSQLI_ASSOC)) {


    Du musst deine Funktion also vorher einmal aufrufen, und das dann mysqli_fetch_array übergeben

    PHP
    $result = getMaps("ASC", 10);
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

    Das geht auch noch besser:


    Hier übernimmt MySQL die komplette Arbeit. MySQL Hasht das Passwort selber, guckt ob es einen Benutzer mit dem dazugehörigen gehashten Passwort gibt und zählt auch noch selber. In PHP überprüfen wir dann nur noch ob es jemanden mit genau dieser kombination gibt.