Beiträge von cottton

    Hast Du schon richtig erkannt:

    PHP
    // --> falsch =) $stmt = $mysqli->prepare($select . " WHERE kd_firma LIKE '%?' " ); // oder LIKE '?%' oder LIKE '%?%'
    
    
    
    
    // richtig:
    $stmt = $mysqli->prepare($select . " WHERE kd_firma LIKE ? " );  
    $stmt->bind_param("s", '%' . $KdSuche); // oder $KdSuche . '%' oder '%' . $KdSuche . '%'


    Das ? wird beim Ausführen mit dem Wert ersetzt. Wo das liegt, ist erstmal egal.
    ob es dort sein darf ist dann zweitens

    EDIT: sorry - müde, blödsin erzählt -- Bsp geändert

    Ah, klar - verstanden.
    Gerade mal Schnelltest gemacht - brachte ~4%
    Ohne goto allerdings. Ich brauch ja schon ein if. Und mit if und goto wird es deutlich langsamer.

    Muss ich mal weiter testen.
    Tnx =)

    EDIT:

    tests zum Abschluss:


    Ich entscheide mich dann mal für die schnellste Variante -- test 3, auch wenn ich die Zuweisung der work 2 mal im code stehen hab =)

    Endlos ist möglich.
    Screen/Console öffnen, {pfad}/php.exe {pfad}/{scriptname}.php
    eingeben und feuer frei =)
    Die max execution time muss natürlich auf 0 gesetzt werden.
    Bsp:


    Zum Thema:
    die Aufträge kommen ohne Muster. Es sind mehrere Tools die untereinander Daten per Commands (Socket oder direkt über PHP-arrays) austauschen (nutze (php)pthreads).
    (werd evtl mal ein kleines Tut zu pthreads schreiben, falls es jemand interessiert)

    Es geht also einfach nur um das Handhaben der Pause.
    Das Script weiß nie, wann die nächste Arbeit for work_1, _2, oder _3 ansteht. Kann daher nicht statisch für x usec Schlafen.
    Mit der for-Schleife teile ich also die Pausenzeit in Teile.
    Allerdings bei Volllast (es würde keine Pause gebraucht) bremst die for-Schleife den Ablauf aus.
    Ich denke, dass alleine die ~Anwesenheit der for-Schleife das Problem ist.

    Hab da paar tools die in while-Schleifen laufen.
    Da man ja aber ohne Pausen die CPU ins endlose jagen würde, hab ich Pausen eingebaut.

    Einfache Pause kommt aber nicht in Frage, denn die work kommt wann sie will.
    Ich kann also nicht sagen: usleep(1000), denn innerhalb der Zeit kann schon wieder Arbeit in der Warteschlange hängen.
    Also hab ich versucht ein "Schalf solange, bis zu feststellst, dass Du was zu tun hast" - zu schreiben.

    Das funktioniert auch. Nur suche ich gerade nach Alternativen/Verbesserungen.

    Einfaches Bsp:


    Das Problem momentan: wenn es mal richtig "los geht", dann würde das Script gar keine Pause brauchen.
    Es würde bei Vollast also schneller laufen, zu gemütlichen Zeiten aber sinnlos CPU verbrennen.

    Jemand damit Erfahrung? Ideen? =)

    EDIT: der Unterschied bei Vollast ist enorm: mit der for-Schleifenpause nur halb so schnell.
    Und das obwohl die for-Schleife nur einmal durchlaufen wird und nicht bis zum usleep kommt.

    Hab sogar goto getestet - wird aber auch nicht schneller =)

    Hab mir Lightbox gerade mal angesehen.
    Das Script nutzt offensichtlich jQuery (Framework). Die var jQuery wird wohl beim einbinden von jQuery (Framework) global gesetzt.
    Und das Lightbox Script nutzt intern einen Alias:

    JavaScript
    (function() {
      // Use local alias
      var $ = jQuery;
    ...
      })();

    Wenn die globale var jQuery also nicht gesetzt ist, dann hast Du sicherlich jQuery (Framework) nicht eingebunden.

    Einbinden:
    http://lokeshdhakar.com/projects/lightbox2/

    Zitat

    2. Look inside the js folder to find jquery-1.11.0.min.js and lightbox.min.js and load both of these files. Load jQuery first.

    Du musst jQuery definieren.
    Was Du da in der Funktion via JS machst ist in etwa das gleiche wie das Bsp hier in PHP:

    PHP
    function(){
        // aus deinem JS: 
        // $ = jQuery;
    
        // in PHP
        $neue_var = $jQuery;
    
        // der fehler: $jQuery is noch nie definiert worden. 
        // woher soll den da ein wert kommen?
    }

    Ähm also deiner letzten Aussage muss ich leider wiedersprechen..


    Stimmt.
    Auch ein Grund für Seiten die auf selbst gehosteten (ich hasse mich für das Wort) Server laufen sind dynamische IPs.
    Viele Provider leiten grundsätzlich keine Mails weiter, die als "Absender" ne dyn IP vorweisen.

    ST-HT
    viel Spass - denn das macht Spass =)

    Was wolf sagt und nur noch als Tip btw

    PHP
    echo "$nzbget";


    ist unnötig. " öffnet/beginnt einen String, dann nutzt Du die var $nzbget darin und schließt den String wieder.
    Dann kannst Du auch gleich echo $nzbget; nutzen :)

    Und noch hinterher -> Thema Sicherheit:
    Ausgaben maskieren:

    PHP
    echo htmlspecialchars(nzbget); // http://php.net/manual/de/function.htmlspecialchars.php
    // egal ob du weißt, dass der inhalt der datei/var nicht vom benutzer kommt.
    // irgendwann änderst du oder jemand anderes das script und übersieht, dass der inhalt ungeprüft/unmaskiert ausgegeben wird.

    Client-side ist immer Mist.
    Der "Angreifer" bräuchte evtl nicht mal die Verschlüsselung kennen, sondern ändert den Wert, der genutzt/verschickt werden soll, einfach vor der Verschlüsselung.

    Allgemein hast Du ~keine Chance. Der Angreifer kann ja Events auslösen ("End-Buton") wenn er sie kennt.
    Du kannst es Ihnen nur so schwer wie möglich machen. (zB was Basii sagte - unmögliche Daten verwerfen).

    Ich kenne das zB von Battlefield Games. Dort gibt es:
    - "PunkBuster" -- ein tool das jeder Client am laufen haben muss welches dann nach bekannten Cheats ~sucht
    - FairFight -- Tools (nicht Client-side), die nach vorgegebenen Regeln der Devs nach unmöglichen Stats suchen (...)

    Ersteres (ein Tool das in Deinem Fall nach bekannten Cheat-Scripten sucht) kannst Du vergessen. Denn das Script könnte jeder einsehen und ändern.