PHP and HTML interact a lot: PHP can generate HTML, and HTML can pass information to PHP. Mielőtt elolvasná ezeket a GYIK-eket, fontos, hogy megtanulja, hogyan lehet A változókat külső forrásokból letölteni. A kézi oldal ebben a témában számos példát is tartalmaz.

milyen kódolásra / dekódolásra van szükségem, amikor egy értéket átadok egy űrlapon / URL-en keresztül?

Több szakasz van, amelyekre a kódolás fontos., Feltételezve, hogy van egy $data karakterlánc, amely nem kódolt módon tartalmazza a továbbadni kívánt karakterláncot, ezek a releváns szakaszok:

  • HTML értelmezés. Annak érdekében, hogy adjon meg egy véletlen karakterlánc, akkor tartalmaznia kell azt a dupla idézetek, htmlspecialchars () a teljes értéket.

  • URL: egy URL több részből áll. Ha azt szeretné, hogy az adatokat egy elemként értelmezzék, akkor azt urlencode () kódolással kell kódolnia.,

példa #1 A hidden HTML form element

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

Megjegyzés: helytelen az urlencode() $adatokra, mivel ez a böngészők felelőssége az urlencode-hoz () az adatok. Minden népszerű böngésző ezt helyesen teszi. Ne feledje, hogy ez a módszertől függetlenül történik (azaz GET vagy POST). Ezt csak akkor veszi észre, ha kérést kap, mert a postai kérések általában rejtve vannak.,

Megjegyzés: Az adatok a böngészőben rendeltetésszerűen jelennek meg, mivel a böngésző értelmezi a HTML Escape szimbólumokat. A beküldés után, akár GET, akár POST útján, az adatokat a böngésző urlencodálja az átvitelhez, közvetlenül pedig a PHP által kódolt urldecoded. Tehát végül nem kell semmilyen urlencoding/urldecoding-ot elvégeznie, mindent automatikusan kezelnek.,

példa #3 URL-ben

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

Megjegyzés: valójában egy HTML GET kérés, ezért manuálisan kell urlencode() az adatokat.

Megjegyzés: Meg kell htmlspecialchars() az egész URL, mert az URL értéke egy HTML-attribútum. Ebben az esetben a böngésző először un-htmlspealchars() az értéket, majd adja át az URL-t. PHP fogja érteni az URL-t helyesen, mert urlencode () d az adatokat., Észre fogod venni, hogy az URL-ben a & helyébe a &amp;lép. Bár a legtöbb böngésző helyreáll, ha elfelejti ezt, ez nem mindig lehetséges. Tehát akkor is, ha az URL nem dinamikus, meg kell htmlspecialchars() az URL.

< input type=”image” > tag, de a $foo.x és $ foo.y változók nem állnak rendelkezésre. A $ _GET sem létezik. Hol vannak?,

űrlap elküldésekor a szabványos Küldés gomb helyett egy képet lehet használni olyan címkével, mint:

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

amikor a felhasználó valahol a képre kattint, a kísérő űrlapot két további változóval továbbítják a kiszolgálónak: foo.x és foo.y.

mert foo.x és foo.y volna, hogy érvénytelen a változó nevek PHP, ők automatikusan át foo_x, valamint foo_y. Ez az időszak helyébe hangsúlyozza., Tehát hozzáférhet ezekhez a változókhoz, mint bármely más, a változók külső forrásokból történő visszakereséséről szóló szakaszban leírtak. Például $_GET.

Megjegyzés:

a kérelemben szereplő szóközök változó nevekké alakulnak.

Hogyan hozhatok létre tömböket HTML <form>?,

a <form> eredmény tömb formájában elküldve a PHP szkripthez a <input>, <select> vagy <textarea> ilyen elemek:

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

div > figyeljük meg a szögletes zárójelben után a változó neve, ez az, ami miatt egy tömb., Lehet-csoport az elemeket a különböző tömbök hozzárendelésével ugyanaz a neve, hogy a különböző elemek:

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

igy két tömbök, MyArray, valamint MyOtherArray, hogy lesz küldeni a PHP script. A tömbökhöz speciális kulcsokat is lehet rendelni:

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

az AnotherArray tömb mostantól tartalmazza a 0, 1, e-mail és telefon kulcsokat.

Megjegyzés:

a tömbkulcsok megadása nem kötelező a HTML-ben., Ha nem adja meg a kulcsokat, a tömb kitöltődik abban a sorrendben, ahogy az elemek megjelennek az űrlapon. Első példánk a 0, 1, 2 és 3 kulcsokat tartalmazza.

Lásd még: Tömbfüggvények és változók külső forrásokból.

Hogyan kapom meg az összes eredményt egy kiválasztott több HTML tag?

A több címke kiválasztása egy HTML-konstrukcióban lehetővé teszi a felhasználók számára, hogy több elemet válasszanak ki a listából. Ezeket az elemeket ezután átadják az űrlap műveletkezelőjének. A probléma az, hogy mindegyiket ugyanazzal a widget névvel adják át. I. e.,

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

Minden kiválasztott lehetőség érkezik a cselekvési handler, mint:

var=option1var=option2var=option3 

Minden beállítás felülírja a tartalma az előző $var változó. A megoldás a PHP “array from form element” funkciójának használata. A következőket kell használni:

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

ez azt mondja a PHP-nek, hogy a $VAR-t tömbként kezelje, és minden érték hozzárendelése a var-hoz hozzáad egy elemet a tömbhöz. Az első elem $var, a következő $var stb., A count () függvény segítségével meghatározható, hogy hány opció van kiválasztva, a rendezés () függvény pedig az opciós tömb rendezésére használható, ha szükséges.

vegye figyelembe, hogy ha a JavaScript a az elem neve problémákat okozhat, ha megpróbálja hivatkozni az elem neve. Használja helyette a numerikus form elem azonosítóját, vagy csatolja a változó nevét egyetlen idézőjelbe, és használja ezt az elem tömb indexeként, például:

variable = document.forms.elements']; 

Hogyan adhatok át egy változót a Javascriptből a PHP-be?,

mivel a Javascript (általában) kliens oldali technológia, a PHP (általában) szerver oldali technológia, és mivel a HTTP egy “hontalan” protokoll, a két nyelv nem oszthat meg közvetlenül változókat.

Ez azonban lehetséges, hogy adja át a változókat a kettő között. Ennek egyik módja a Javascript kód generálása a PHP-vel, valamint a böngésző frissítése, bizonyos változók visszaadása a PHP szkriptbe. Az alábbi példa pontosan megmutatja, hogyan kell ezt megtenni – lehetővé teszi a PHP kód számára a képernyő magasságának és szélességének rögzítését, ami általában csak a kliens oldalon lehetséges.,

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük