Kód: Vybrať všetko
$dotaz = "UPDATE poradie SET tym_por=".$user["dhz"]." WHERE poradie=".$_POST["testvalue"];
$vysledok = mysql_query($dotaz,$db) or die (mysql_error($db));Kód: Vybrať všetko
$dotaz = "UPDATE poradie SET tym_por=".$user["dhz"]." WHERE poradie=".$_POST["testvalue"];
$vysledok = mysql_query($dotaz,$db) or die (mysql_error($db));
Kód: Vybrať všetko
/*
* Inicializovanie pripojenia na DB
*/
$pdo = new PDO('mysql:host=' . $host . ';dbname=' . $dbname . ';charset=utf8', $username, $password);
/*
* Pripravenie dopytu
*/
$sth = $pdo->prepare('UPDATE poradie SET tym_por=:tym_por WHERE poradie=:poradie');
/*
* Nabindovanie hodnot
*/
$sth->bindValue(':tym_por', $user['dhz'], PDO::PARAM_INT);
$sth->bindValue(':poradie', $_POST['testvalue'], PDO::PARAM_INT);
/*
* Odpalenie dopytu
*/
try {
$res = $sth->execute();
} catch (\PDOException $e) {
echo 'Chyba pri praci s DB :' . $e->__toString();
}
Kód: Vybrať všetko
/*
* Inicializovanie pripojenia na DB
*/
$pdo = new PDO('mysql:host=' . $host . ';dbname=' . $dbname . ';charset=utf8', $username, $password);
/*
* Odpalenie dopytu
*/
try {
$res = $pdo->query('UPDATE poradie SET tym_por=' . $pdo->quote($user['dhz']) . ' WHERE poradie=' . $pdo->quote($_POST['testvalue']));
} catch (\PDOException $e) {
echo 'Chyba pri praci s DB :' . $e->__toString();
}Prosím Ťa, môžeš mi hodiť nejaký oficiálny PHP.net link na informáciu o tom, že $_POST je už deprecated?*****HERO***** napísal:je zbytocne sa ucit nieco, co uz je davno zastarane, nebezpecne a neodporucane. dokonca od PHP 5.5.0 je to uz oficialne "deprecated", takto pracovat s DB, takze to v buducnosti bude odstranene z PHP uplne.
deprecated (zatial) nie, no best practices hovoria o tom, že by si nemal priamo pristupovať do superglobálnych polí. Niektoré IDE, napríklad aj netbeans ti bude pri takom zápise kričať warning. Mal by si používať radšej takýto prístup:*****HERO***** napísal:neviem o tom, ze by malo byt pouzitie premennej $_POST deprecated. to mas odkial?
Kód: Vybrať všetko
filter_input(INPUT_POST, 'var_name'); //namiesto $_POST['var_name']
filter_input_array(INPUT_POST); //namiesto $_POST
hehe lol, to vidim prvy krat .. super vec, diky, si mi usetril kopec nastavajucich minut stravenych na upravach < 2006 projektoch kodenych na koleneaudiotrack napísal: deprecated (zatial) nie, no best practices hovoria o tom, že by si nemal priamo pristupovať do superglobálnych polí. Niektoré IDE, napríklad aj netbeans ti bude pri takom zápise kričať warning. Mal by si používať radšej takýto prístup:Kód: Vybrať všetko
filter_input(INPUT_POST, 'var_name'); //namiesto $_POST['var_name'] filter_input_array(INPUT_POST); //namiesto $_POST
uz len nazov funkcie je dostatocne self explaining, ze to asi aj osetrujeweroro napísal:audio: A aký je rozdiel o proti $_POST[] okrem toho, že to tvoje je ukecané? Ošetruje to vstupy (podobne ako pri PDO)?
sú to filtre. Ak použiješ sanitizačné, tak ti to upraví na požadovaný tvar (čo tam nepatrí, to vyhodí). Ak použiješ filtračné, vráti ti iba hodnotu alebo chybu. Výhodou je že nemusíš overovať či je to url a či je v správnom tvare, či je to email a či je v správnom tvare... iba tam definuješ aká to má byť hodnota. Viď: http://php.net/manual/en/filter.filters.phpweroro napísal:audio: A aký je rozdiel o proti $_POST[] okrem toho, že to tvoje je ukecané? Ošetruje to vstupy (podobne ako pri PDO)?
asi nechápem otázke. V ukážke som použil aj načítanie celého postu, cez filter_input_array. Ak si mal na mysli prenášanie polí v poste, tak si to zober cez $_POST["pole"] a prebehni filtrom v array_walk. Asi ti unikla pointa tých funkcií. Nikto nenapísal že nemôžeš pristupovať do $_POST iba že je to bad practice lebo veľa ľudí zabudne ten vstup potom dodatočne filtrovať, sanitizovať a podobneNumline1 napísal:Sice odveci, ale pozerajuc na ten filter_input, ako to zvlada viacero hodnot? Superglobalne premenne ich vracaju ako pole, podla komentarov na php.net to tato funkcia nevie.