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

Publikováno v sekci PHP v Pondělí 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:

<?php
  $text_prispevku = $_POST['text_prispevku'];
  if (strlen($text_prispevku) == 0) 
    echo "Nezadali jste nic, napravte to!";
?>

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:

<?php
  $text_prispevku = $_POST['text_prispevku'];
    if (strlen(trim($text_prispevku)) == 0) 
     echo "Nezadali jste nic, napravte to!";
?>

A nyní jsme již chráněni proti vložení prázdného příspěvku.

2 komentáře « Zpět


Komentáře

reagovat #1 Nick:
01.12.07 13:13
Zajímavé
22.02.08 19:08
jaj, no je vidět, že se mám co učit :)

Přidat komentář

Nový vzkaz

* Tato pole jsou povinná, [smajlíci]

  • 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, nebo jej vložte mezi značky [code] [/code]
  • vulgární, rasistické či jinak nepřípustné komentáře budou smazány


Hlavní navigace


[ ↑ k obsahu ↑ ]