Superglobale variabler $_GET og $_POST - PHP

Lær at læse de superglobale variabler $_GET og $_POST

Introduktion

Variablerne $_GET og $_POST er superglobale variabler (tilgængelig overalt i koden).

$_GET udfyldes automatisk når en <form method="get"> sendes eller når der skrives noget efter et spørgsmålstegn (?) i URL.
$_POST udfyldes automatisk når en <form method="post"> sendes.

Besøges "fil.php?navn=david" i browseren vil $_GET["navn"] indeholde værdien "david".
Samtidig vil $_SERVER["QUERY_STRING"] indeholde alt data efter spørgsmålstegnet "navn=david".

Get 1

Resultatet ovenfor er skabt af følgende kode

Klik på linket og læg mærke til hvordan adressen i browseren ændres og kig på resultatet igen for at se indholdet af $_GET som nu indeholder data der kan vises.

Get 2

Med $_GET kan vi have en enkelt fil som er i stand til at vise forskelligt sideindhold afhængig af URL.
Resultatet ovenfor er skabt af følgende kode

Brugerne vil så være i stand til at lave links til en bestemt vare så de let kan finde varen igen eller sende linket til andre så de kan se en bestemt vare.

Post 1

Her er en formular som sender data med POST metoden.
Med POST metoden vises data ikke i URL hvilket er bedst hvis der er meget data eller data indeholder ting som personlige beskeder eller kodeord som man ikke ønsker at browseren skal gemme i sin historik over besøgte sider.


Resultatet ovenfor er skabt af følgende kode

Hvis man viser data fra $_POST på hjemmesiden så kan dataene blande sig i HTML koden hvis den indeholder bestemte tegn.

For at vise data som de står i formen så kan man bruge htmlspecialchars() når man ønsker at vise data på en hjemmeside.

htmlspecialchars() laver tegn som < og > om til &lt; og &gt; hvilket betyder at data vises i browseren som de blev indtastet i formen.

Upload fil

Filer som billeder, videoer, lyd og programmer skal overføres som binær data.
Når men vil sende binær data med en formular skal man bruge <form enctype="multipart/form-data">.

Den superglobale variabel $_FILES (tilgængelig overalt i koden) indeholder data for uploadet fil i <input type="file"> som filnavn, filtype og filstørrelse.
Prøv og "upload" en mindre fil :


Resultatet ovenfor er skabt af følgende kode

Filen uploades først til den midlertidige placering ($_FILES["testfil"]["tmp_name"]).

Det er så meningen at man derefter skal flytte filen til sin endelige destination med move_uploaded_file($_FILES["testfil"]["tmp_name"], $destination).

$_FILES["testfil"]["error"] indeholder et tal hvis noget gik galt.

Her er en forklaring på fejlkoderne :

0 : Ingen fejl. Filen blev uploadet med succes.
1 : Filen er for stor. Opsætningen tillader ikke så stor en fil (upload_max_filesize = 96M ).
2 : Filen er for stor. Formen tillader ikke så stor en fil. // Hvis filen er større en MAX_FILE_SIZE i formen
3 : Filen blev kun uploadet delvist.
4 : Der er ikke valgt nogen fil.
5 : Noget.
6 : Der er ingen midlertidig upload mappe på serveren.
7 : Filen kunne ikke gemmes.
8 : Fil upload blev stoppet af extension.

Skriv din kommentar

Spørg mig om hvad som helst
Du kan også skrive direkte til mig på
Stem
Søg
Language

Select English to navigate the website in English. Things like the navigation menu and contact form will be in English, but the main content on each page will not be translated.