Autor | Zpráva | ||
---|---|---|---|
PavV Profil |
#1 · Zasláno: 1. 2. 2023, 11:19:05
Program volající moje api mi posílá přes get data ve kterých je text obsahující mezery
&nazevzak=TEST 25.11. -2 opak-2511221042-2022000116-1&dealer=128& Data čtu pomocí $_GET while (list($nazev,$hodnota) = each($_GET)){ $$nazev= htmlspecialchars($hodnota);} Jak postupovat bych dostal celý řetězec? Dík |
||
Giga Profil |
#2 · Zasláno: 1. 2. 2023, 11:37:36
Nepoužíval bych mezery jako oddělovač.
|
||
blaaablaaa Profil |
PavV:
Tohle je špatný přístup, víš, jaké proměnné tvé API očekává a ty přiřaď do proměnných, tohle je fakt nebezpečné. Navíc funkce each už je od PHP 7.2.0 deprecated a v PHP 8 už není. Mezera v URL nemá co dělat, nahrazuje se za %20. Dá se to přepsat třeba takto, ale stále je to zbytečná prasárna. $allowed_params = ['nazevzak', 'dealer']; foreach ( $allowed_params as $param ) { if ( isset($_GET[$param]) ) { $$param = $_GET[$param]; } else { die('Chybi parametr '.$param); } } Pokud jsou parametry nepovinné, tak třeba takto, jinak normální podmínkou kontrolovat, zda parametry existují. $nazevzak = $_GET['nazevzak']??null; //pokud parametr chybi dosadi se null $dealer = $_GET['dealer']??0; //pokud parametr chybi, dosadi se 0 |
||
Časová prodleva: 1 rok
|
0