• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Leerer Datensatz bei Seitenaufruf - PHPmyAdmin

KiliHD

Neues Mitglied
Guten Abend,
Ich habe es gerade geschafft mein Newsletterformular mit der Datenbank zu verbinden, soweit klappt es auch.
Das Problem: Mir ist aufgefallen, dass wenn man die Seite neuladen würde oder nichts einträgt es trotzdem in die Datenbank geschickt wird.

Hier mein Code:
PHP:
<?php
        
        $verbindung = mysqli_connect ("geheim", "geheim", "geheim", "geheim")
        or die("Fehler beim Versuch auf MySQL zuzugreifen!");
        
        $benutzer = $_POST['benutzer'];
        $email = $_POST['email'];
        $benachrichtigung = $_POST['benachrichtigung'];
        
        $eintrag = "INSERT INTO newsletter (benutzer, email, benachrichtigung) VALUES ('$benutzer', '$email', '$benachrichtigung')";
        
        $eintragen = mysqli_query($verbindung, $eintrag);
        
        mysqli_close($verbindung);
        
        ?>
HTML:
<form method="POST">
            <div class="mapboxbeschreibung">Vollständiger Name: <input type="text" name="benutzer"></div>
            <div class="mapboxbeschreibung">E-Mail Adresse: <input type="text" name="email"></div>
            <div class="mapboxbeschreibung">Benachrichtigung: <select name="benachrichtigung">
                <option>Alle Neuigkeiten</option>
                <option>Map Updates</option>
            </select></div>
            <button type="submit" style="margin-left: 1%;">Senden</button>
        </form>
Webseite: www.kilihd.de/map

Ich denke Ich müsste den Button mit einbinden, aber wie? Gibt es sowas wie onclick für PHP?
Vielen Dank im Voraus!
 
Werbung:
Benutze required ( https://www.w3schools.com/tags/att_input_required.asp ) bei Input-Feldern, dann wird schon mal client-seitig verhindert, dass leere Felder gesendet werden. Das alleine reicht aber nicht, server-seitig musst du das trotzdem prüfen, da hilft die Funktion empty. Und dann solltest du dich dringend in Sachen SQL-Injektion schlau machen.
 
Werbung:
Zurück
Oben