Diskuze: Ošetření speciálních znaků u nickname
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Před vložením do databáze provedeš před starým způsobem query:
$nickname = mysql_real_escape_string($_POST['nickname']);
Výstup nickname do HTML:
echo htmlspecialchars($nickname);
Víc to řešit nemusíš. Uživatel
<h1>uzivatel</h1>
se zobrazí včetně HTML značek,
stránku tedy nenaruší.
tak záleží co jim povolíš ty že... pro jistotu bych jim povolil jen písmena, čísla, tečku a pomlčku. víc nepotřebujou
Ano, stačí prepare:
$prep = $pdo->prepare("INSERT INTO uzivatel (nickname) VALUES (?)");
$prep->execute(array($_POST['nickname']));
Alternativou je $pdo->quote($string);
Doplňuje i správné
apostrofy podle typu otevřené databáze. Má se však dávat přednost
$pdo->prepare()
.
Zobrazeno 9 zpráv z 9.