4 Indsæt

Når vi skal indsætte data bliver der lidt flere trin. Det foregår nogenlunde i den her rækkefølge:

  1. Lav en HTML form, som brugeren kan indtaste felterne i (fx titel, starttidspunkt, sluttidspunkt)
  2. Når brugeren trykker Send kaldes siden igen – nu med disse variable gemt i et såkaldt POST array, og så
    • Bygges et sql insert statement (fx INSERT INTO BEGIVENHED(‘titel’) VALUES (‘Nyt LAN Party’)  etc…)
    • Kør dette sql på serveren og tjek for fejl
    • Vis meddelelse til brugeren

Lyder det kompliceret? Det er det ikke – kopier følgende ind på endnu en php side, som du kalder insert.php

<?php

include 'connect.php';

#hvis siden har kaldt sig selv med variable i et POST array
if (!empty($_POST)){

    #Gem og escape variablene fra POST arrayet
    $titel = $conn->real_escape_string($_POST['titel']);
    $dato = $conn->real_escape_string($_POST['dato']);
    $pladser = $conn->real_escape_string($_POST['pladser']);

    $sql = "INSERT INTO Begivenhed (titel, dato, pladser)
    VALUES ('$titel','$dato',$pladser)";

    if ($conn->query($sql) === TRUE) {
        echo "Ny begivenhed oprettet";
    }else{
        echo "Fejl: " . $sql . "<br>" . $conn->error;
    }
}
?>

<!--Her er formen, som brugeren indtaster i - bemærk at action="" - url'en er tom, altså kalder siden sig selv-->
<form action="" method="post">
    <label for="titel">Titel</label><br>
    <input type="text" name="titel"><br>
    <label for="dato">Dato</label><br>
    <input type="date" name="dato"><br>
    <label for="pladser">Pladser</label><br>
    <input type="number" name="pladser"><br>
    <input type="submit" name="gem">
</form>


Leave a comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *