Beiträge von Arne Drews

    Nur mal am Rande: Ein Quiz, das Fragen- und Antwort technisch rein auf JavaScript basiert macht wenig Sinn.

    Ich kann mir doch die Lösung ansehen, wenn ich möchte. Zumindest die sollte Server seitig geprüft werden oder per Ajax nachgeladen werden.

    Hi,


    Das kannst Du doch leicht testen, in dem Du selber eine Seite anlegst und Dir die entsprechenden Daten ausgeben lässt.

    Mit var_dump( $_SERVER ); bekommst Du alle Umgebungsvariablen.


    In der .htaccess musst Du aber für die Parameter nichts eintragen, wenn Du es wie in #7 oder dem darin verlinktem Beitrag machst.

    Dann kannst Du alles über Din PHP steuern.

    Auch wenn ich eine php freie Lösung bevorzugen würde

    Warum? Die Alternative wäre JavaScript, das läuft aber clientseitig, weshalb Du keinen Einfluß darauf hast, ob die Seite wie von Dir gedacht auch wirklich bei jedem läuft. Ein paar Sichworte:

    • abweichendes Browserverhalten
    • deaktiviertes JavaScript
    • diverse Script-Blocker


    Ich nehme an "Curl" ist Systemweit verfügbar ? (OS unabhängig ?)

    Wenn PHP installiert ist, ist cURL in 99,99% der Fälle auch mit an Bord.

    Ansonsten muss das natürlich nachinstalliert werden, da es keine OS-Basiserweiterung ist. cURL sollte allerdings für jedes wichtige OS verfügbar sein.


    Gibt es etwas wie "ästhetisches Programmieren" ?

    Ja, aber lass Dich jetzt bitte nicht von irgendwelchen Leuten in die PSR-Verdammnis lenken.

    Code muss lesbar sein, d.h.:

    • Einrückung beachten
    • Namensgebungen "sprechend" bevorzugen ( Namespaces, Klassen, Methoden, Variablen, usw. )

    Wenn Du die Dinge beherzigst, kommst Du automatisch in die Richtung PSR. 100% muss das nicht sein, hauptsache der Code ist lesbar.

    Stell Dir vor, Du arbeitest im Team und andere Entwickler sollen mit Deinem Code das erste Mal arbeiten. Oder umgekehrt, Du musst das erste Mal mit dem Code eines anderen arbeiten.

    ;)

    Ich würde die Parameter-Übergabe per POST umsetzen, nicht direkt auf das Ziel leiten, sondern auf ein serverseitiges PHP-Script, das die Informationen per cURL entsprechend von den gewünschten Seiten zieht und das Ergebnis zur Verfügung stellt.

    Ist auch ein idealer Einsatzzweck für Ajax.


    Nicht vergessen, Quellenangaben zu verwenden, wenn Suchergebnisse von fremden Seiten genutzt werden!

    Das ist kein Problem denn die Timer gehen mind. 1,5h da kommt es auf die sekunde nicht ganz genau an

    Wenn Du die Seite innerhalb der 180 Minuten ( was übrigens 3 Stunden sind und nicht 1,5 ) ca. 30x neu lädst, ist das bei einer durchschnittl. Ladezeit von 2 Sek. schon eine Minute Verzögerung. Es muss ja nicht 100%ig sein, aber wenn Dir das schon egal ist, kann man einen Timer auch ganz in Frage stellen.

    Getter und Setter sind ja nicht nur zur Validierung. Oft will man einfach noch was anhängen, filtern, loggen, ... .

    Korrekt. Ein weiterer Vorteil ist halt, dass man aufgrund von Projektwachstum und -veränderungen Anpassungen auch an Eigenschaften von Objekten hat. In dem Fall müssen maximal nur die Getter und Setter angepasst werden und nicht das Script an sich, dass die Objekt-Instanz verwendet.


    Wer den Nutzen nicht erkennt, sollte sich nochmal mit OOP Grundlagen befassen... Meine Meinung...

    Also wenn ich den Eingangspost richtig gelesen habe, gibt es ein Eingabefeld, in dem man eine Zahl ( Sekunden? ) eingibt, die als Timer-Laufzeit interpretiert wird. Bei Klick auf eine Checkbox soll der Timer dann die Anzahl der Sekunden runterlaufen.


    Ich würde dafür ebenfalls das localStorage nutzen, allerdings würde ich den Zeitstempel, bis wann der Timer laufen soll und den Zeitstempel, wo der Timer ich gerade befindet darin speichern. Die Differenz beider Zeitstempel ist der Timer-Wert.


    Das hat den Vorteil, dass der Timer auch dann relativ genau ist, wenn der Reload der Seite ggf. mal 2 bis 3 Sekunden dauert.

    Nach dem Reload dann als erstes den Timerstand mit dem aktuellem Datums-Zeitstempel überschreiben und sofern erforderlich den Timer weiterlaufen lassen.


    Zeitstempel geht ganz einfach mit Date.now(), wbei es sich da um Milisekunden handelt. Date.now() + 2000 sind also + 2 Sekunden.

    D.h., wenn ich meinen Timer auf 30 Sekunden setze, setze ich mir als Ziel-Zeitstempel Date.now() + 30000. Solange der aktuelle Zeitstempel < diesem Wert ist, läuft der Timer.


    So zumindest, wenn ich den Eingangspost richtig verstanden habe.

    Ich habe mir nicht jedes Detail der Code-Wülste hier angesehen, aber das ginge deutlich reduzierter, wenn wir von derselben Sache reden.

    Den letzten Absatz hättest du dir sparen können. Wenn dir Infos fehlen, dann frag strukturiert danach. Woher soll ich wissen, was du wissen musst. Meine Glaskugel ist leider kaputt.

    Hmmm... Ich scrolle nochmal kurz durch den Thread, Moment... Scheint tatsächlich so auszusehen, als wenn ich der einzige war, der Dir überhaupt Hilfestellung geben wollte. Ist es clever, so zu reagieren, wenn man nach Infos fragt, um besser helfen zu können? :/

    Getter und Setter geben Dir als Entwickler die Möglichkeit der Validation von Eigenschaften.

    Wenn man public Eigenschaften hat, können die nicht nur direkt gelesen, sondern auch beschrieben werden.

    Deshalb setzt man die Eigenschaft auf private oder protected, je nach Bedarf und Vererbungsfähigkeit. Mit der passenden Setter-Methode kann dann der Wert zunächst validiert werden, bevor dieser der Objektinstanz zugeordnet wird.

    Und da die Eigenschaft nun nicht mehr public ist, nutzt man eine Getter-Methode. Die Getter Methoden haben natürlich auch den zusätzlichen Vorteil, dass die Rückgabe noch bearbeitet, gecastet o.ä. werden kann.

    Vermutlich stimmt etwas mit Deinen Pfaden dann nicht, was sogar sehr wahrscheinlich ist, denn wenn Du schon eine Verzeichnisebene mehr hast auf lokaler Seite, gibt es ja automatisch schon Unterschiede in den Pfaden. Die musste Du natürlich dann anpassen. Deshalb bleibt es sinnvoller für die Bearbeitung den lokalen Webroot zu verwenden oder zumindest entsprechende vhosts in XAMPP anzulegen.


    Mehr kann ich dazu nicht sagen, weil ich Deine Struktur nicht kenn. Du wirfst leider immer nur Bröckchen hier rein, anstatt mal zu posten, was Du aktuell für einen Stand hast.

    Kann man darüber vermutlich machen, aber prinzipiell ist Dein lokales "Webroot" das von Dir angesprochene Verzeichnis. Dort gehört die .htaccess rein.

    Bin grad nicht sicher, ob das zu Komplikationen führt, einfach mal testen.


    Besser wäre natürlich, wenn Du lokal auch im Root arbeitest.

    Hi,


    Ich habe die Frage ehrlich gesagt nicht ganz verstanden. Lokaler- und Webserver sind doch von sich unabhängige Instanzen.

    Natürlich musst Du bei beiden die .htaccess hinterlegen, aber in beiden Fällen ist der Inhalt identisch.


    Oder ich habe die Frage wie gesagt vielleicht nicht verstanden?

    Dann darfst Du das EUR nicht als Placeholder anwenden. Ein Placeholder verschwindet per Standard, sobald der value einen Wert hat.

    Baue Dir ein eigenes INPUT Element:

    HTML
    <div class="my-input">
        <div class="input"><input type="text" name="foo" placeholder="10.000"></div>
        <div class="currency">EUR</div>
    </div>

    Bisschen CSS samt flex, dann sollte das schon ganz gut hinkommen.