Beiträge von JR Cologne

    Beides gute Punkte. Letzteres lässt sich ja sehr leicht noch hinzufügen.


    Bei dem Thema Spam muss ich sagen, dass ich damit bisher so gut wie keine Erfahrungen gemacht habe. Obwohl auf meiner Website die E-Mail in großen Buchstaben im Klartext aufzufinden ist und mein Kontaktformular keinen Schutz beinhaltet, habe ich bisher kaum bis gar keine Spam-Mails erhalten. Würde von daher zum aktuellen Zeitpunkt ungerne was darüber schreiben.


    Meiner Meinung nach macht es ohnehin mehr Sinn, das Thema gesondert anzusprechen, da es je nachdem durchaus etwas komplexer ist.

    Man könnte dann ja in diesem Tutorial darauf verweisen und umgekehrt.


    Vielleicht hat ja jemand anderes Lust, ein solches Tutorial zu verfassen.

    Ich habe jetzt noch eine Spalte "Updated" hinzugefügt, wie oft das Kommentar bearbeitet wurde.


    Wie kann ich es jetzt machen, das er das immer +1 zählt?


    Ich hab es jetzt so gemacht, das wenn das bearbeitet wurde, eine 1 geschrieben wird in die Tabelle.

    Ich habe jetzt nicht in deinen Code geguckt, aber du wirst ja irgendwo die Daten des Kommentars zwecks der Bearbeitung aus der Datenbank abfragen. Dabei holst du dir auch den Wert von updated. Anschließend kannst du diesen mit PHP um 1 erhöhen und diesen dann letztendlich zusammen mit den anderen neuen Daten des Kommentars einfügen.

    Kommt so ein bisschen darauf an, wie du die Kommentareingabe gestalten möchtest.


    Folgende Möglichkeiten fallen mir spontan ein:

    - Textfeld ist unter Kommentaren dauerhaft eingeblendet und bereit zum Absenden

    - Per Klick auf einen Antwort-/Kommentar-Button öffnet sich ein Modal mit dem Textfeld (JS notwendig)

    - Zuvor angesprochene Button leitet auf extra Seite mit dem Textfeld um (einfacher Link)


    Wie schon gesagt wurde, zeig am besten mal dein bisherigen Stand der Dinge.

    Ohne mir das näher anzuschauen, kann ich schon mal Folgendes sagen:


    Die Breite gibst du am besten in Prozent an und die Höhe lässt du ganz weg.


    Des Weiteren sehe ich nicht, warum du in diesem Fall absolute Positionierung nutzen solltest. Das kann also höchstwahrscheinlich auch weg.


    Bei margin hast du einen kleinen Fehler. Es soll wahrscheinlich 20px, nicht nur 20, heißen.

    Genau, es ist lediglich ein Hinweis für den User, ob seine Daten verschlüsselt übertragen werden oder eben nicht.


    Heutzutage gibt es mit Let's Encrypt die Möglichkeit, auch kostenlose Zertifikate zu erhalten.


    Tendenziell macht es also für jede Website Sinn, auf HTTPS umzusteigen. Einen Vorteil bei Google bringt das glaube ich auch mit sich.


    TLS-Zertifikate erklärt:

    https://t3n.de/news/eigentlich-ssl-zertifikat-510107/

    Jav Mal abgesehen davon, dass der PHPMailer alles ein wenig schöner macht, hast du im Prinzip recht. Hätten auch genauso gut die mail()-Funktion nutzen können.


    Anders gesagt: Es geht uns nicht darum, den PHPMailer als toll darzustellen, sondern einen möglichst einfachen und gleichzeitig relativ schönen Weg aufzuzeigen, um ein Kontaktformular umzusetzen.

    Ok, das heißt, du sprichst von einer ganz normalen Website ohne Framework, CMS und ähnlichem.


    Ich persönlich nutze dann meist irgendwas in die Richtung:



    3rd-Party-Code wird dann entweder per CDN eingebunden oder heruntergeladen und in einen vendor-Ordner gepackt, der sich innerhalb des passenden Ordners befindet. Beispiel: JS-Library käme in den JS-Ordner in einen entsprechenden vendor-Ordner.

    Diesen Namen nennt man Domain und diese setzt sich aus einem Namen + Endung (z.B. .de) zusammen (Beispiel: google.de). Eine Domain müsstest du kaufen und auf dich registrieren, kostenlos gibt's die eigentlich fast nie.


    Ansonsten musst du leider die Bplaced-Subdomain nutzen.

    So, hier ist mein Vorschlag für die Zuteilung.



    So richtig zufrieden bin ich mit dem Ergebnis nicht, da ich auf eine doppelte Schleife zurückgreifen musste. Mir ist leider keine bessere Lösung eingefallen.


    Vielleicht hat jemand anderes ja noch eine bessere Idee, wie man das ein wenig effizienter umsetzen könnte.

    Welches Ziel verfolgst du mit try/catch?


    Das ist nämlich für Anfänger erstmal nicht so von Bedeutung und wird dann erst mit OOP deutlich interessanter.


    Du landest in deinem Beispiel immer im catch-Block, da du innerhalb des try-Blocks stets eine Exception/einen Fehler wirfst und somit dieser von catch abgefangen wird. Das ist nicht wirklich der Sinn der Sache.


    In deinem Fall würde eine einfache if-Abfrage, ob dein gewünschtes Ergebnis erzielt wurde, völlig ausreichen.

    1. Zahlen aus der DB holen und in Array speichern

    2. 6-stellige Zahl generieren

    3. Mittels in_array() die Einzigartigkeit überprüfen

    4. Bei Einzigartigkeit Zahl in DB einfügen


    Das Ganze könnte man mit Sicherheit auch mit einem einzigen SQL-Query lösen, allerdings bin ich da der falsche Ansprechpartner. "Komplexere" Queries waren noch nie meine Stärke.


    Wichtig: Stelle sicher, dass die DB ein Einfügen gleicher Einträge so oder so verhindert.


    Der Zahlengenerator selber ist insofern kein großes Hexenwerk, dass du einfach die Funktion random_int nutzen kannst, vorausgesetzt du brauchst lediglich einen Integer.

    Verstehe nicht ganz, was du mit Letzterem meinst.


    Was natürlich bei deiner Ausgabe des Codes auffällt, ist die Tatsache, dass überhaupt keine Daten vorhanden sind.


    Füge dem Formular bitte mal das action-Attribut hinzu und probier es dann nochmal. Einen Fehler sehe ich nämlich auf den ersten Blick nicht. Das sollte zwar nichts ändern, aber es gehört ohnehin dazu und manchmal hat man ja auch ganz merkwürdige Fehler.