Spomeniem funkcie, ktoré patria k najdôležitejším pri očistení vstupných údajov z formulárov. Ako prvé treba skontrolovať, či sú premenné, ktoré chceme mať povinne uvedené vyplnené
ďalej môžeme obmedziť dĺžku vkladaného mena, textu na istý počet znakov, napr. na 50
Teraz máme k dispozícii definovanú premennú obsahujúcu istý počet znakov (teda formulár bol vyplnený dátami).
Tieto údaje je nutné očistiť od HTML vsuviek a skriptov, ktoré pomocou formulára môže užívateľ podsunúť do stránky a tým ju úplne narušiť, v horšom prípade zmazať dáta z databázy.
toto zabezpečí prevod HTML kódov na neškodné entity, ktoré strácajú svoju funkciu. Ďalej sa môžu odstrániť prázdne miesta na začiatku a konci textu funkciou trim
Ak používame na stránkach formulár, kde užívateľ môže zanechať svoju mailovú adresu je vhodné zadávanú mailovú adresu kontrolovať. Správna mailová adresa má tvar XYZ@XZY.XX. Správnosť kontrolujeme
Ak cez formulár vkladáme obrázky, napríklad smajlíkov do knihy návštev (pri napísaní *7* sa *7* prevedie na obrázok) môžeme obmedziť počet smajlíkov v texte napr. na 10 ( ak obrázok predstavuje *niečo* )
Ak sa chceme vyhnúť aby veľmi dlhé, neprerušené slovo narušilo celú stránku je možné takéto slovo skrátiť na istý počet znakov a rozdeliť novým riadkom
Tento kód formátuje dlhé nedelené slová po 50 znakov. V niektorých aplikáciách sa používa automatický prevod URL adries na klikateľné odkazy.
Existuje mnoho spôsobov, ja používam tento
<? if(empty($premenna))
{
echo"premenná nie je zadaná, je prázdna";
}
?>
<? if(strlen($premenna)>50)
{
echo"premenná obsahuje nad 50 znakov";
}
?>
<?
$upravena=htmlspecialchars("$zformulara", ENT_QUOTES);
?>
<?
$upravena=trim($zformulara);
?>
<?
if (!eregi('^[a-z0-9_]{1}[a-z0-9-_]*(.[a-z0-9-_]+)*@[a-z0-9]{1}[a-z0-9-_]*(.[a-z0-9-_]+)*.[a-z]{2,4}$', $mail))
{
echo "Neplatná adresa";
}
?>
<?
if (substr_count($odkaz, '*') > 20)
{
echo"maximum smajlíkov je 10";
}
?>
<?
$text = wordwrap( $text, 50, "<br/>", 1);
?>
<?
$textsurladresou = preg_replace('#(http://|ftp://|(www.))([w-]*.[w-.]*([/?][^s]*)?)#e', "'<a target="_blank" href="'.('\1'=='www.'?'http://':'\1').'\2\3"><font color="#000000"><u>>'.link.'<</u></font></a>'",$text);
?>
Pridať komentár k článku