Beiträge von Arne Drews

    Hab jetzt nicht nachgeschaut, aber aus'm Ärmel müsste das sowas in etwa sein:

    Code
    Deny from all
    
    <FilesMatch "\.csv$">
      Satisfy any
      Allow from all
    </Files>

    Unter Berücksichtigung des Affenformular-Prinzips, würde ich den PHP-Teil in etwa auf diesem Schema aufbauen:

    Der HTML-Teil dazu sähe in etwa so aus:

    Es gibt auch die Möglichkeit das über die locales zu machen, darüber bieten manche Datumsfunktionen die Möglichkeit, solche Angaben in der Regionalsprache auszugeben.


    Aber um bei dem Array zu bleiben, ist das noch ein Tick einfacher umsetzbar:

    PHP
    <?php
    $aMonths = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
    
    foreach ( $aMonths as $index => $month )
        echo '<option value="' . $index . '">' . $month . '</option>';

    Auf Injektion sollte man immer achten, sobald man mit benutzerdefinierten Daten arbeitet, was in diesem Fall das Formular ist.

    Auch die WHERE-Klausel kann dahingehend manipuliert werden, dass ein DELETE im Anschluss ausgeführt wird.

    Auch PreparedStatements sollten immer verwendet werden.


    htmlspecialchars() is allerdings nicht für/gegen solche Injektions gedacht.

    Ist auch Blödsinn. So etwas sollte allein schon aufgrund der Usability auf PHP-Seite passieren.

    Wenn Suchfelder leer sind, werden diese einfach nicht in die WHERE-Klausel übernommen, das muss man nicht mit irgendwelchen Checkboxen den Benutzer entscheiden lassen.


    Beispiel

    Man hat 3 Suchspalten, also bedient man sich dreier Input-Felder:

    Code
    <input type="text" name="frmSearchFields[firstname]" placeholder="Vorname">
    <input type="text" name="frmSearchFields[lastname]" placeholder="Nachname">
    <input type="text" name="frmSearchFields[city]" placeholder="Stadt">

    PHP könnte dann beispielhaft so aussehen:

    nicht getestet, aber so in etwa würde ich das prinzipiell aufbauen.

    vorname, nachname und city sollten in dem Fall natürlich bereits die Spaltennamen sein.

    Denn nimm mal einen anderen Browser. M$ hat glaube ich im Edge auch gern eigene Filter drin.

    Auf der Arbeit kann es natürlich auch sein, dass die Administration da was sperrt.


    Wäre aber ein schönes Beispiel, warum man sich auch heutzutage nicht auf JavaScript verlassen sollte!

    Meine nicht Dich speziell damit, aber weil es oft Diskussionen gibt, dass manche meinen JavaScript würde überall laufen...

    Ich sehe da kein id="tab1"!


    Und Dein echo/printf-Salat macht keinen Sinn.

    Das f bei printf() steht für format/formatted, was Du absolut gar nicht nutzt. Ein simples echo reicht stattdessen vollkommen.


    Mal als kleines Beispiel, wie das nach EVA aussehen könnte:

    Jetzt darfst Du entscheiden, was für Dich übersichtlicher ist, von der Verarbeitung jedenfalls ist diese Variante sinnvoller.

    Genau das war gemeint: Das Script steht immer noch vor den Content-DIVs, kann diese also nicht matchen und somit nicht ausblenden.

    Mir scheint der Kontextwechsel auch stark contra EVA zu sein. Warum gibst Du das Script als HTML aus und die <div>s per printf() über PHP?

    Trenne HTML von PHP.