GET vs. POST: Hvornår skal De bruge hvad
Forstå forskellen mellem HTTP GET og POST i PHP.
GET vs. POST: Hvornår skal De bruge hvad er en gratis PHP Academy-lektion på CoddyKit. Dette er lektion 1 af 4. 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 4 lektioner i alt.
HTTP-metoder i PHP-web
Når en browser sender en HTML-formular, bruger den enten HTTP-metoden GET eller POST. PHP opfanger de indsendte data via superglobaler:
$_GET— data føjet til URL'en$_POST— data i forespørgslens brødtekst
GET-metoden
GET føjer formulardata til URL'en som parametre i forespørgselsstrengen:
<!-- HTML form -->
<form method="GET" action="search.php">
<input name="query" type="text">
<button type="submit">Search</button>
</form>
<!-- URL becomes: search.php?query=php+tutorial -->
<?php
$q = $_GET['query'] ?? '';
echo 'You searched for: ' . htmlspecialchars($q);POST-metoden
POST sender data i HTTP-forespørgslens brødtekst — de er ikke synlige i URL'en:
<!-- HTML form -->
<form method="POST" action="login.php">
<input name="email" type="email">
<input name="password" type="password">
<button type="submit">Log In</button>
</form>
<?php
$email = $_POST['email'] ?? '';
$password = $_POST['password'] ?? '';Hvornår skal du bruge GET
Brug GET, når:
- forespørgslen er idempotent (uden bivirkninger)
- data må vises i URL'en — søgeforespørgsler, filtre og sideinddeling
- du ønsker URL'er, der kan bogmærkes eller deles
- dataene ikke er følsomme
Hvornår skal du bruge POST
Brug POST, når:
- forespørgslen ændrer serverens tilstand (opretter, opdaterer eller sletter)
- dataene er følsomme (adgangskoder eller personlige oplysninger)
- du sender store mængder data (filer eller lang tekst)
- du ikke ønsker, at dataene caches af browsere eller proxyer
Længdebegrænsninger for GET
GET-forespørgsler har begrænsninger på URL'ens længde (typisk omkring 2.000 tegn i praksis). POST har ingen praktisk begrænsning ud over serverens konfiguration:
<?php
// php.ini settings for POST limits:
// post_max_size = 8M (total POST body size)
// upload_max_filesize = 2M
// Check current limits at runtime:
echo ini_get('post_max_size'); // 8M
echo ini_get('upload_max_filesize'); // 2M$_REQUEST-superglobalen
$_REQUEST sammenfletter $_GET, $_POST og $_COOKIE. Det er praktisk, men mindre tydeligt, hvor dataene kommer fra:
<?php
// Works for both GET and POST but is ambiguous
$name = $_REQUEST['name'] ?? '';
// Better: be explicit about the expected method
$name = match($_SERVER['REQUEST_METHOD']) {
'GET' => $_GET['name'] ?? '',
'POST' => $_POST['name'] ?? '',
default => '',
};Kontrol af forespørgselsmetode
Kontrollér altid forespørgselsmetoden, før du behandler formulardata:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = trim($_POST['name'] ?? '');
if (!empty($name)) {
echo 'Hello, ' . htmlspecialchars($name);
}
} else {
// Show empty form
}HTTPS og datasikkerhed
Selv med POST er data synlige i klartekst, medmindre du bruger HTTPS. Vigtige sikkerhedsregler:
- Brug altid HTTPS i produktion
- Send aldrig adgangskoder via GET
- POST over HTTP er stadig usikkert — HTTPS krypterer også brødteksten
Omdirigering efter POST (PRG-mønster)
Efter en vellykket POST skal du omdirigere til en GET-forespørgsel for at forhindre dobbelte indsendelser ved opdatering:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Process the form...
$id = saveToDatabase($_POST);
// Post-Redirect-Get (PRG) pattern
header('Location: /success.php?id=' . $id);
exit;
}Multipart-formularer til filupload
Hvis du vil uploade filer, skal formularen bruge enctype="multipart/form-data" sammen med POST:
<!-- Required for file uploads -->
<form method="POST" action="upload.php"
enctype="multipart/form-data">
<input type="file" name="avatar">
<button type="submit">Upload</button>
</form>
<?php
$file = $_FILES['avatar'];
echo $file['name']; // original filenameHurtigt tjek
Hvilken HTTP-metode skal du bruge, når du sender en loginformular med brugernavn og adgangskode?
Opsummering: GET og POST
Vigtige forskelle:
- GET — i URL'en, kan bogmærkes, ingen bivirkninger, begrænset størrelse
- POST — i brødteksten, følsomme data, ingen URL-begrænsning
- Brug altid HTTPS til at beskytte både GET- og POST-data
- Kontrollér
$_SERVER['REQUEST_METHOD'], før du behandler data - Anvend PRG-mønsteret for at forhindre dobbelte POST-indsendelser
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 “GET vs. POST: Hvornår skal De bruge hvad” gratis?
Ja — hele teksten til “GET vs. POST: Hvornår skal De bruge hvad” 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 4 lektioner i alt.
Hvad lærer jeg i “GET vs. POST: Hvornår skal De bruge hvad”?
Forstå forskellen mellem HTTP GET og POST i PHP. 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 1 af 4.
Hvor lang tid tager lektionen “GET vs. POST: Hvornår skal De bruge hvad”?
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
- GET vs. POST: Hvornår skal De bruge hvad
- Læsning af formulardata med superglobals
- Teknikker til inputvalidering
- Sanering af brugerinput