21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
Moonk
Profil *
Ahoj,
Chtěl bych se zeptat kdy používat addslashes a kdy intval...

něco jsem si přecetl na php.net ale přece jen se radší poptám odborníků ;)

intval třeba používám takto: intval($_SESSION['id']) a addslashes takto:
$accountname = addslashes($accountname) a čísla v databázi ověřuji, jestli to
jsou opravdu čísla třeba takto: '".$pocet_prispevku."' *1 nebo jen '10'
*1
je to takto správně? nebo mám něco opravit?
DJ Miky
Profil
Místo násobení jedničkou můžeš použít právě intval(), pokud chceš získat hodnotu. Pokud chceš ověřit, jestli je to číslo, tak fcí is_int() či podobnými (is_float, is_numeric, ...)
krteczek
Profil
navíc pokud se jedná o db dotazy tak použij mysql_real_escape_string($promenna, identifikator spojeni),

function osetri($polozka)

{
/***
metoda slouží k ošetření vstupních řetězců použitých v db dotazech
je ji možné zavolat až po inicializaci
metoda na ošetření používá funkci mysql_real_escape_string,
pokud není dostupná, použije mysql_escape_string, pokud
ani tato není dostupná, použije addslashes.
string umístí do apostrofu
***/
//Protože se ošetřují jen textové řetězce, zjistíme, jestli je obsah text, nebo nějaké číslo
if(!is_numeric($polozka))
{
$polozka = "'" . (function_exists('mysql_real_escape_string') ? mysql_real_escape_string($polozka, pripoj()) : (function_exists('mysql_escape_string') ? mysql_escape_string($polozka) : addslashes($polozka)) ) . "'";
}
return $polozka;
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0