Funkce trim aneb kvalitní ořez řetězce

/ Blog / PHP / Funkce trim aneb kvalitní ořez řetězce
Článek je už starý a informace v něm nemusí být relevantní, mohou být zastaralé či dokonce již neplatné. Články nepíši, informace si poznamenávám jinam, sledovat mě můžete na Githubu, Medium či jiných "IT" síťích. 👋 V případě dotazu mi napište na e-mail či telegram (sekce kontakt).

Publikováno v sekci PHP v 24. 4. 2006 - 09:53

Poslední dobou když navštěvuji weblogy, vlastní fóra a různé návštěvní knihy, neubráním se menšímu záškodnictví. Téměř každý programátor, který překlenul onu začátečnickou čáru sesnaží se nějakým způsobem zabranit špatnému vstupu z formulářových polí.

Když pominu funkce addslashes (přidá zpětná lomítka pokud někdo vloží uvozovky - velmi dobré když zapisujeme data do databáze), htmlspecialchars (převede potencionálně nebezpečné html tagy na entity a tím zabrání vykonání se onoho tagu), tak spousta uživatelů ověřuje zapis prázdných polí nějak takto:

1: <?php $text_prispevku = $_POST['text_prispevku'];
2: if (strlen($text_prispevku) == 0)
3: echo "Nezadali jste nic, napravte to!";
4: ??>
Jenze to není úplně dobře!. Pokud vložíte kurzor do inputového pole a místo příspěvku uděláte mezerníkem 1 či více mezer, tak předchozí skript je úplně k ničemu. I prázdná mezera je brána jako plnohodnotný string!

Proto náš kód upravíme takto:

1: <?php $text_prispevku = $_POST['text_prispevku'];
2: if (strlen(trim($text_prispevku)) == 0)
3: echo "Nezadali jste nic, napravte to!";
4: ??>
A nyní jsme již chráněni proti vložení prázdného příspěvku.

Kategorie

  • Osobní názory - 0x
  • PHP - 9x
  • MYSQL - 4x
  • CSS - 7x
  • jQuery - 3x
  • Sociální síť - 1x
  • Nette - 5x
  • Tipy & triky - 3x
  • Twitter Bootstrap - 1x
  • Týdenní tipy a novinky - 4x
  • SCSS - 1x
  • GIT - 1x
  • Gulp - 1x

  • Komentáře (3x)

    #1 reagovat Nick:
    Zajímavé
    jaj, no je vidět, že se mám co učit :)
    #3 reagovat abre:
    viem že je to tu staré ale nebolo by výhodnejšie hned porovnať prazdny retazec, cim odpadne funckia strlen ? $text_prispevku = $_POST['text_prispevku']; if (trim($text_prispevku) == '') echo "Nezadali jste nic, napravte to!";

    Vložit nový komentář


    • na jiné komentáře odkazujte pomocí odkazu reagovat
    • vaše IP adresa bude zaznamenána
    • používají se gravatary
    • můžeme si tykat
    • HTML tagy vypnuty. PHP kód se také neprovede. Pokud potřebuju přiložit ukázku vašeho kódu, použijete službu pastebin
    • vulgární, rasistické či jinak nepřípustné komentáře budou smazány