PHP Academy · Lektion

Oprettelse af en kontaktformular

Opret en kontaktformular, der sender beskeder via e-mail

Lektion 2 af 210 trin

Oprettelse af en kontaktformular er en gratis PHP Academy-lektion på CoddyKit. Dette er lektion 2 af 2. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i PHP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. PHP Academy-kurset indeholder 2 lektioner i alt.

Introduktion til kontaktformularprojektet

Oprettelse af en kontaktformular

Velkommen til lektionen om oprettelse af en kontaktformular! I dette projekt lærer du at bygge en kontaktformular, der giver brugere mulighed for at sende beskeder via e-mail. Lad os komme i gang!

Oprettelse af en kontaktformular — illustration 1

Opsætning af projektet

Før du går i gang, skal du sikre dig, at du har:

  • En webserver som XAMPP eller WAMP.
  • En teksteditor eller IDE (f.eks. VS Code).
  • En fil med navnet contact.php i din projektmappe.
  • PHP's mail()-funktion aktiveret (nødvendig for at sende e-mails).

Tip: Ved lokal testning kan det være nødvendigt at konfigurere indstillingerne for din mailserver.

Oprettelse af den grundlæggende HTML-formular

Start med at oprette HTML-strukturen til din kontaktformular. Eksempel:

Vigtigt: Brug attributten required for at sikre, at alle felter er udfyldt, før formularen sendes.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Contact Form</title>
</head>
<body>
  <h1>Contact Us</h1>
  <form action="contact.php" method="post">
    <label for="name">Name:</label><br>
    <input type="text" id="name" name="name" required><br><br>
    
    <label for="email">Email:</label><br>
    <input type="email" id="email" name="email" required><br><br>
    
    <label for="message">Message:</label><br>
    <textarea id="message" name="message" rows="5" required></textarea><br><br>
    
    <button type="submit" name="submit">Send Message</button>
  </form>
</body>
</html>

Behandling af formulardata

Håndter formularafsendelsen i din contact.php-fil. Eksempel:

Tip: Brug htmlspecialchars() til at forhindre XSS-angreb ved at escape HTML-tegn.

<?php
  if (isset($_POST['submit'])) {
    $name = htmlspecialchars($_POST['name']);
    $email = htmlspecialchars($_POST['email']);
    $message = htmlspecialchars($_POST['message']);

    echo "Name: $name<br>";
    echo "Email: $email<br>";
    echo "Message: $message<br>";
  }
?>

Validering af input

Validér inputtet før behandlingen for at sikre, at det opfylder dine krav. Eksempel:

Vigtigt: Validér altid brugerinput for at undgå ugyldige eller skadelige data.

<?php
  if (isset($_POST['submit'])) {
    if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
      echo "Invalid email address.";
      exit;
    }

    $name = htmlspecialchars($_POST['name']);
    $email = htmlspecialchars($_POST['email']);
    $message = htmlspecialchars($_POST['message']);

    echo "Valid input. Processing...";
  }
?>

Afsendelse af e-mailen

Brug PHP's mail()-funktion til at sende formulardataene til en e-mailadresse. Eksempel:

Tip: Brug en gyldig From-adresse for at undgå problemer med e-mailleveringen.

<?php
  if (isset($_POST['submit'])) {
    $to = "admin@example.com"; // Replace with your email
    $subject = "New Contact Form Submission";
    $message = "Name: $name\nEmail: $email\nMessage:\n$message";
    $headers = "From: $email";

    if (mail($to, $subject, $message, $headers)) {
      echo "Message sent successfully!";
    } else {
      echo "Failed to send the message.";
    }
  }
?>

Forbedring af formularen

Her er nogle forbedringer, du kan tilføje:

  • Vis meddelelser om succes eller fejl direkte i formularen.
  • Stil formularen med CSS for at skabe en bedre brugergrænseflade.
  • Implementér CAPTCHA for at forhindre spamafsendelser.

Vigtigt: Forbedringer forbedrer brugeroplevelsen og sikkerheden.

Fejlfinding af problemer med e-mail

Hvis e-mailen ikke bliver sendt, skal du kontrollere følgende:

  • Sørg for, at PHP's mail()-funktion er aktiveret.
  • Kontrollér, at e-mailadressen i From er gyldig.
  • Kontrollér din servers maillogge for fejl.

Tip: Overvej at bruge et bibliotek som PHPMailer til avancerede e-mailfunktioner.

Godt gået!

Tillykke! Du har bygget en funktionel kontaktformular i PHP. Du har lært at oprette formularen, behandle dens data, validere input og sende e-mails. I næste lektion bygger vi endnu et sjovt projekt, som styrker dine PHP-færdigheder yderligere. Lad os fortsætte med at kode!

Oprettelse af en kontaktformular — illustration 10
Gratis at komme i gang

Lær PHP med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
49
Lektioner
195

Ofte stillede spørgsmål

Er lektionen “Oprettelse af en kontaktformular” gratis?

Ja — hele teksten til “Oprettelse af en kontaktformular” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af PHP Academy-kurset, skal du opgradere til CoddyKit PRO. PHP Academy-kurset indeholder 2 lektioner i alt.

Hvad lærer jeg i “Oprettelse af en kontaktformular”?

Opret en kontaktformular, der sender beskeder via e-mail Du øver dig i PHP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på PHP Academy?

Der kræves ingen tidligere erfaring. PHP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 2.

Hvor lang tid tager lektionen “Oprettelse af en kontaktformular”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne PHP Academy-lektion?

Ja. Alle PHP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Oprettelse af en enkel huskeliste
  2. Oprettelse af en kontaktformular
← Tilbage til PHP Academy