PHP Post Hent og filer metoder

Indholdsfortegnelse

Ofte finder vi os selv i at lave en simpel webside, så vi griber til HTML -sproget for at programmere det, men når vi bevæger os fremad, indser vi, at det ikke er så enkelt, og at vi vil indtaste oplysninger for senere at se eller håndtere det og ændre det, og for dette skal vi stole på dataindtastningsskemaer. Det er i det øjeblik, hvor HTML -sproget bliver for lille til os, og vi vender os til andre sprog. Det mest almindelige er oprette inputformularer i PHP, og til dette kan vi bruge Hent og indsend metoder.

Betjeningen af ​​begge metoder er meget enkel, vi sender en formular til et php -script, så oplysningerne i vores formular er tilgængelige i scriptet. På denne måde opnår vi, at vores websted er interaktivt, og at de oplysninger, vi indtaster med tastaturet, er tilgængelige for visning eller brug af det.

Det er meget vigtigt at vide, hvordan oprette en simpel HTML -formular og brug derefter en af ​​de to metoder.
Et eksempel på en simpel form er som følger:

 Bruger:
Adgangskode:
Form er et mærke, der angiver, at vi skal oprette en formular i HTML. Og herinde er de to attributter, der bruges:
  • handling - som fortæller os, hvilken type handling vores formular vil udføre, det vil sige, hvis oplysningerne skal sendes til en e -mail eller til et program eller til en webside.
  • metode - er den attribut, der vil definere, hvilken type metode vi bruger, Get eller Post, det vil sige måden formularen vil blive sendt på. Det kan være GET eller POST, men som standard, hvis vi ikke angiver det, bliver det GET.

Men nu, hvad er forskellen mellem at bruge Post metode og Få metode?

Lad os starte med Get:

GET metodeDen første ting er, at i det tidligere eksempel på form i metode vi er nødt til at sætte "Få".
Hvis vi sender data via Get, sendes oplysningerne i en URL, og når den side, vi anmoder om, er færdig med at indlæse de data, der er blevet sendt, er synlige for brugeren, det vil sige ved indtastning af dataene i vores formular, i dette tilfælde brugernavnet og adgangskode, vil disse data blive vist synlige i vores browser som følger:
http://miweb.com/for… password = 1986

Med andre ord vises navnet på vores webside først, efterfulgt af navnet på formularen adskilt af en bjælke, det vil sige selve webadressen; og efter spørgsmålstegnet vises værdierne for de felter, vi har indtastet på tastaturet.

For at få adgang til de oplysninger, der sendes igennem få med PHP formularen er som følger:

 
Vi skal bruge variablen $ _GET med navnet på det felt, vi ønsker at hente for at indsamle oplysningerne og indtaste dem i en hvilken som helst variabel, og så kan vi bruge det normalt som enhver anden type variabel.
Det visualiseres med ekko, og det åbnes eller ændres på samme måde som med enhver anden variabel, som vi bruger i php.

Det ulempen ved at bruge Get -metoden er så, at de oplysninger, vi indtaster, vil være synlige og det sendes ikke på en skjult måde. Derfor, hvis vi sender fortrolige data som f.eks. Adgangskoder, kreditkort osv., Er vores oplysninger ikke sikre.

Andet ulempen ved at bruge Get er, at hvis vores formular har mange felter, alle værdierne vil blive sammenkædet i vores URL, så vi vil have en alt for lang adresse i browseren, og alligevel er den maksimale længde, der understøttes, kun 2048 tegn.

Derudover skal det tilføjes, at få metode binære oplysninger eller dokumenter kan ikke sendes til den, men accepterer kun ASCII-kodede tegn.

Afslutningsvis kan vi sige, at GET -metoden generelt ikke er stærkt anbefalet, medmindre vi vil sende uvigtige oplysninger, eller som ikke betyder noget, at den er synlig for alle, og at det er lidt information.

POST -metodeI dette tilfælde i HTML -inputformularen bliver vi nødt til at sætte post i stedet for at komme i metode. I modsætning til Get, går de oplysninger, vi sender via formularen, ikke gennem URL'en, men i stedet krypteret eller ej gennem http -anmodningen.

Sådan bruges Indlæg i php er det næste:

 
Som vi gjorde i Get, gemmer vi indholdet af det felt, vi ønsker, i en hvilken som helst variabel, men denne gang igennem $ _POST. Det fungerer nøjagtig det samme, når det kommer til at se det, ændre oplysningerne osv.

Hvad fordele i forhold til Get de finder hinanden:

  • Der er ingen begrænsning på 2048 tegn i størrelse, som der var med Get.
  • Information kan rejse sikkert, hvis vi sender dem gennem nogle protokoller.
  • Ud over at acceptere ASCII -kodede tegn kan vi også sende binære data.

FILES metodeMed Få metode vi sagde, at filer eller binære data ikke kunne sendes. Med post metode Ja, vi kan sende filer, men det er en særlig form for postmetoden kaldet FILES, da identifikatoren er $ _FILES.
Til dette skal du ændre HTML -inputformular:

 Fil til upload: 
Vi har kun i den første linje introduceret det reserverede ord enctype, som er en attribut for formtagget, der fortæller os, hvordan oplysningerne vil bevæge sig, når de sendes gennem formularen. I denne attribut har vi sat multipart / form-data, hvilket betyder, at vi vil sende binære data, og inden for selve formularen skal vi angive, at det, der skal sendes, er en fil ved at sætte fil i inputtypen.
I dette tilfælde vil vi ikke længere bruge variablen $ _POST men vi skal bruge $ _FILES, og når det drejer sig om filer, er det praktisk at lave en fejlhåndtering som i følgende eksempel:
 0) {echo "Fejl:". $ _FILES ["fil"] ["fejl"]. "
";} else {echo" Navn: ". $ _FILES [" file "] [" navn "]."
"; echo" Type: ". $ _FILES [" file "] [" type "]."
"; echo" Size: ". $ _FILES [" file "] [" size "]."
"; echo" Path: ". $ _FILES [" file "] [" tmp_name "];}?> var13 ->
hvor:
-> $ _ FILES ["file"] ["error"] indeholder den fejlkode, der er knyttet til den pågældende fil.
-> $ _ FILES ["file"] ["name"] er navnet på filen.
-> $ _ FILES ["file"] ["type"] er typen af ​​filen, der sendes, hvis denne værdi blev angivet. Dette felt er ikke markeret på serversiden, så oplysningerne er muligvis ikke korrekte.
-> $ _ FILES ["file"] ["size"] angiver filens størrelse, altid udtrykt i bytes.
-> $ _ FILES ["file"] ["tmp_name"] det er stien eller det midlertidige navn på filen, hvor filen, som vi uploader til serveren, er gemt.

AfslutningEfter forklaringen ved vi allerede, at det smarteste at gøre er at bruge POST -metode på tidspunktet for at lave vores indtastningsskemaer for at kunne håndtere oplysningerne med mere sikkerhed og FILES metode hvis vi vil uploade filer til vores websted.

Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave