PHP og HTML samhandle mye: PHP kan generere HTML-og HTML kan sende informasjon til PHP. Før du leser disse spørsmål, er det viktig at du lære å hente variabler fra eksterne kilder. Den manuelle side på dette emnet inneholder mange eksempler som godt.

Hva koding/dekoding trenger jeg når jeg passerer en verdi gjennom en form/URL?

Det er flere stadier for hvilken koding som er viktig., Forutsatt at du har en streng $data, som inneholder strengen du ønsker å formidle i en ikke-kodet måte, disse er de relevante faser:

  • HTML-tolkning. For å angi en tilfeldig streng, må du ta det i doble anførselstegn, og htmlspecialchars() hele verdien.

  • URL: EN URL-adresse består av flere deler. Hvis du vil at dataene skal tolkes som ett element, må du kode det med urlencode().,

Eksempel #1 En skjult HTML-element

– >

<?php
echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />'."\n";
?>

Merk: Det er galt å urlencode() $data, fordi det er den nettlesere ansvar for å urlencode() data. Alle populære nettlesere gjør det riktig. Vær oppmerksom på at dette vil skje uavhengig av metode (dvs., FÅ eller POST). Du vil bare se dette i tilfelle FÅ forespørsel om, fordi POST-forespørsler er vanligvis skjult.,

Merk: dataene som vises i nettleseren som du vil, fordi leseren skal tolke HTML rømt symboler. Ved å sende inn, enten via GET eller POST, vil data bli urlencoded av nettleseren for å overføre, og direkte urldecoded med PHP. Så til slutt, du trenger ikke å gjøre noen urlencoding/urldecoding deg selv, alt er håndtert ‘automagisk’.,

Eksempel #3 I en URL –

– >

<?php
echo '<a href="' . htmlspecialchars("/nextpage.php?stage=23&data=" .
urlencode($data)) . '">'."\n";
?>

Merk: du faktisk er falsk en HTML-GET-forespørsel, derfor er det nødvendig å manuelt urlencode() de data.

Merk: Du må htmlspecialchars() hele URL-en, fordi den URL oppstår som verdien av en HTML-attributtet. I dette tilfellet, vil nettleseren første fn-htmlspecialchars() verdien, og deretter passere URL-en på. PHP vil forstå riktig URL-adresse, fordi du urlencode()d-data., Du vil legge merke til at & i URL-en er erstattet med &amp;. Selv om de fleste nettlesere vil gjenopprette hvis du glemmer dette, dette er ikke alltid mulig. Så selv om NETTADRESSEN er ikke dynamisk, du trenger for å htmlspecialchars() NETTADRESSEN.

jeg prøver å bruke en <input type=»image»> – tag-en, men den $foo.x og $foo.y-variablene er ikke tilgjengelig. $_GET er ikke eksisterende heller. Hvor er de?,

Når du sender et skjema, er det mulig å bruke et bilde i stedet for den vanlige send-knappen med en tag som:

– >

<input type="image" src="https://www.php.net/manual/en/faq.html.phpimage.gif" name="foo" />

Når brukeren klikker et sted på bildet, den medfølgende skjema vil bli overført til serveren med ytterligere to variabler: foo.x og foo.y.

Fordi foo.x og foo.y ville gjøre ugyldig variabel navn i PHP, de er ‘automagisk’ konvertert til foo_x og foo_y. Det er perioder erstattes med understrekning., Så, du vil få tilgang til disse variablene som alle andre som er beskrevet i avsnittet om gjenoppretting av variabler fra eksterne kilder. For eksempel, $_GET.

Merk:

Mellomrom på forespørsel variabel navn er konvertert til understrekninger.

Hvordan lager jeg rekker i en HTML <form>?,

for Å få din <form> resultat sendt som en matrise til din PHP-skript, kan du navnet <input>, <velg> eller <textarea> – elementer som dette:

– >

<input name="MyArray" /><input name="MyArray" /><input name="MyArray" /><input name="MyArray" />

legg Merke til at plassen parentes etter navnet på variabelen, det er det som gjør det til en matrise., Du kan gruppere elementer i ulike matriser ved å tilordne det samme navnet til ulike elementer:

<input name="MyArray" /><input name="MyArray" /><input name="MyOtherArray" /><input name="MyOtherArray" />

Dette gir to matriser, Min_tabell og MyOtherArray, som blir sendt til PHP-skript. Det er også mulig å tilordne spesifikke taster på matriser:

<input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" />

Den AnotherArray tabellen nå inneholder tastene for 0, 1, e-post og telefon.

Merk:

Angi array tastene er valgfritt i HTML., Hvis du ikke angir tastene, matrisen blir fylt i den rekkefølgen som elementene vises i form. Vårt første eksempel vil inneholde tastene for 0, 1, 2 og 3.

Se også Matrise Funksjoner og Variabler Fra Eksterne Kilder.

Hvordan kan jeg få alle resultatene fra en velge flere HTML-koder?

velge flere tag i HTML-konstruksjon tillater brukere å velge flere elementer på en liste. Disse elementene sendes deretter til handling handler for skjemaet. Problemet er at de alle gikk med i samme widget navn. I. e.,

– >

<select name="var" multiple="yes">

Hvert valgte alternativ vil ankomme handlingen handler som:

var=option1var=option2var=option3 

Hvert alternativ vil overskrive innholdet i den forrige $var variabel. Løsningen er å bruke PHP «matrise fra element» – funksjonen. Bør følgende brukes:

<select name="var" multiple="yes">

Dette forteller PHP til å behandle $var som en matrise og hvert oppdrag til en verdi var å legger til et element på tabellen. Det første elementet blir $var, den neste $var, etc., Antall () – funksjonen kan brukes til å bestemme hvor mange alternativer som ble valgt, og sorter () – funksjonen kan brukes til å sortere alternativ utvalg hvis det er nødvendig.

vær Oppmerksom på at hvis du bruker JavaScript på element navn kan føre til problemer når du prøver å referere til element etter navn. Bruk det numeriske skjemaet element-ID i stedet, eller legge variabelen navnet i enkle anførselstegn, og bruke det som indeksen til array-elementer, for eksempel:

– >

variable = document.forms.elements']; 

Hvordan kan jeg sende en variabel fra Javascript PHP?,

Siden Javascript er (som regel) en klient-side-teknologi, og PHP er (som regel) en server-side-teknologi, og siden HTTP er en «statsløse» protokoll, de to språkene kan ikke direkte del variabler.

Det er imidlertid mulig å passere variabler mellom de to. En måte å oppnå dette på er å generere Javascript-kode med PHP, og har nettleseren oppdaterer seg selv, passerer bestemte variabler tilbake til PHP-skript. Eksemplet nedenfor viser nøyaktig hvordan du skal gjøre dette-det gjør at PHP-koden til å fange skjermen høyde og bredde, noe som er normalt bare mulig på klientsiden.,

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *