Přejít na hlavní obsah

Jak zadávat data z klávesnice do PHP: průvodce s příklady

PHP, jeden z nejoblíbenějších programovacích jazyků ve vývoji webu, poskytuje uživatelsky přívětivé nástroje. Klávesnice je jedním z hlavních zařízení, které uživateli umožňuje zadávat data. V tomto článku se podíváme na různé způsoby zadávání dat z klávesnice do PHP a poskytneme příklady, jak je používat ve svých projektech.

Funkce readline()

Pro čtení vlastního vstupu z klávesnice do PHP můžeme použít funkci readline(). Tato funkce vám umožňuje přečíst řádek zadaný uživatelem a uložit jej do proměnné.

Příklad použití funkce readline():

$name = readline ("zadejte své jméno:");

echo " ahoj," $name;

V tomto příkladu nejprve zavoláme funkci readline () a předáme ji pozvánkovému řádku pro uživatele. Poté je hodnota zadaná uživatelem uložena do proměnné $name. Nakonec vytvoříme pozdrav pomocí příkazu echo a konkatenujeme jej zadaným jménem.

Základy vstupu dat do PHP

PHP poskytuje různé způsoby pro zadávání dat z klávesnice. V této části se podíváme na několik metod.

Čtení dat z formuláře

Nejběžnějším způsobem zadávání dat do PHP je čtení dat z formulářů HTML. Chcete-li to provést, musíte vytvořit formulář HTML, který bude obsahovat pole pro zadávání dat (input) a tlačítko pro odeslání formuláře (button). Data zadaná do vstupního pole pak lze získat pomocí superglobální proměnné $_POST v PHP.

Příklad:

V tomto příkladu uživatel zadá své jméno do vstupního pole a poté klikne na tlačítko Odeslat. Zadaný název je uložen v proměnné $name v PHP a zobrazen na uvítací obrazovce.

Čtení dat z příkazového řádku

PHP také umožňuje číst data z klávesnice přímo z příkazového řádku. K tomu lze použít vestavěné funkce readLine () a fscanf (). Funkce readLine() čte řádek z klávesnice a funkce fscanf () čte hodnoty proměnných oddělených mezerami.

Příklad:

V tomto příkladu program požádá uživatele o zadání jeho jména. Po zadání názvu se uloží do proměnné $name a zobrazí se s pozdravem.

Čtení dat z adresy URL

PHP může také číst data z adresy URL pomocí superglobální proměnné $_GET. Chcete-li to provést, musíte v adrese URL zadat parametr a jeho hodnotu rozdělenou znaménkem.

URL: http://example.com/?name=John

V tomto příkladu je název "John" přenesen do PHP z adresy URL. Uloží se do proměnné $name a zobrazí se na obrazovce s pozdravem.

Čtení dat pomocí funkce fgets()

Syntaxe funkce fgets() je následující:

fgets($handle, $length)

  • $handle - ukazatel souborů představující otevřený soubor nebo Stream
  • $length - volitelný parametr, který určuje maximální délku řádku, který lze považovat. Výchozí hodnota je 8192 znaků

Funkce fgets () vrátí čtený řádek nebo false, pokud je dosaženo konce souboru.

Příklad použití funkce fgets () pro čtení dat z klávesnice:

$handle = fopen("php://stdin", "r");echo "Введите ваше имя: ";$name = fgets($handle);echo "Введите ваш возраст: ";$age = fgets($handle);echo "Привет, " . $name . "! Тебе " . $age . " лет.";fclose($handle);

V tomto příkladu pomocí funkce fopen () otevřeme standardní vstupní tok (klávesnici) pro čtení. Poté pomocí funkce fgets () čteme uživatelské jméno a jeho věk. Na konci vytvoříme pozdrav a zavřeme souborový ukazatel pomocí funkce fclose().

Čtení dat z formuláře

Pro čtení dat zadaných uživatelem prostřednictvím formuláře v PHP lze použít pole $_POST . Toto pole obsahuje všechny hodnoty zadané do polí formuláře a odeslané na server metodou POST.

Chcete-li získat hodnotu konkrétního pole, musíte se obrátit na prvek pole $_POST s klíčem odpovídajícím názvu pole. Pokud má například pole Název "username", pak lze hodnotu získat takto:

$username = $_POST['username'];

Pokud pole s tímto názvem neexistuje v poli $_POST, bude v proměnné $username uložena hodnota null .

Kromě pole $_POST existuje také pole $_GET obsahující hodnoty přenášené na server metodou GET. K získání dat z tohoto pole lze použít podobný přístup.

Obvykle se k přenosu citlivých informací (jako jsou hesla) doporučuje použití metody POST a metoda GET k přenosu necitlivých dat, jako jsou filtry nebo možnosti vyhledávání.

Kromě polí $_POST a $_GET existují také pole $_REQUEST a $_SERVER obsahující další informace o požadavku. Použití těchto polí se však z bezpečnostních důvodů nedoporučuje.

Zpracování zadaných údajů

Když uživatel zadá data z klávesnice do PHP, mohou být tato data odeslána na server k dalšímu zpracování. V této části se podíváme na to, jak zpracovávat zadaná data a používat je v dalším kódu.

Jakmile jsou data zadána uživatelem, můžeme je získat pomocí superglobálního pole $_POST nebo $_GET, v závislosti na metodě uvedené ve formuláři. K získání hodnoty vstupního pole lze například použít následující kód:

$name = $_POST['name'];

V tomto příkladu získáme hodnotu proměnné' name', která byla přenesena pomocí dotazu POST. Dále můžeme tuto hodnotu použít ve svém kódu, například k jejímu uložení do databáze nebo k výstupu na stránce.

Před použitím zadaných údajů je vždy nutné zkontrolovat jejich bezpečnost. Uživatelem zadaná data mohou obsahovat škodlivý kód nebo mohou být nesprávná. K ověření dat lze použít funkce PHP, jako jsou htmlspecialchars() nebo strip_tags() které pomohou vyhnout se možným zranitelnostem.

Chcete-li například zabránit vkládání škodlivého kódu do proměnné 'name', můžete použít následující kód:

$name = htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8');

V tomto příkladu používáme funkci htmlspecialchars() Chcete-li převést speciální znaky na HTML entity. Tímto způsobem se chráníme před možnými útoky XSS.

Můžete také provést další validaci dat, abyste se ujistili, že uživatel zadal data správně. Lze například ověřit, že zadaná e-mailová adresa má správný formát pomocí funkce filter_var():

if (filter_var($email, FILTER_VALIDATE_EMAIL))

Echo "e-mailová adresa je správná";

> else

Echo "e-mailová adresa je nesprávná";

V tomto příkladu používáme funkci filter_var() Chcete-li zkontrolovat, zda hodnota proměnné 'email' odpovídá formátu e-mailové adresy. Pokud je formát správný, zobrazí se Zpráva "správná e-mailová adresa", v opačném případě se zobrazí zpráva "nesprávná e-mailová adresa".

Zpracování zadaných dat z klávesnice do PHP je tedy důležitý úkol. Tyto údaje je nutné nejen získat, ale také je zkontrolovat pro bezpečnost a správnost zadání. Pouze v tomto případě je možné zajistit, aby uživatel zadaná data byla v dalším kódu správně použita.

Kontrola vstupů pro korektnost

PHP poskytuje mnoho funkcí a metod pro validaci a kontrolu dat. Nejčastějším úkolem je ověření těchto formulářů. Při registraci uživatele je například nutné zkontrolovat, zda jeho jméno a heslo splňují určité požadavky.

Podívejme se na několik příkladů ověřování vstupů pro korektnost:

    Kontrola prázdné hodnoty:

$name = $_POST['name'];if (empty($name))
$name = $_POST['name'];if (!preg_match("/^[a-zA-Z]+$/", $name))
$email = $_POST['email'];if (!filter_var($email, FILTER_VALIDATE_EMAIL))
$ip = $_POST['ip'];if (!filter_var($ip, FILTER_VALIDATE_IP))

Všechny tyto příklady ukazují základní techniky ověřování údajů o správnosti. Každá situace však může vyžadovat svůj přístup a další kontroly. Je důležité si uvědomit, že uživatelská data mohou být vždy nesprávná nebo mohou obsahovat škodlivý kód, takže validace dat je nedílnou součástí vývoje bezpečných aplikací.