Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] magic_quotes a addslashes()
Forum PHP.pl > Forum > Przedszkole
tomekkk
No wlasnie , tak jak w temacie, czy zawsze musze uzywac funkcji addslashes() przed wprowadzeniem danych do bazy oraz stripslashes() po wyjęciu ich, czy ustawienie magic_quotes_runtime = On w php.ini zalatwi sprawe? , i jeszcze jedno jaka jest roznica miedzy echo a print, w ksiazce z ktorej sie ucze uzywaja echo, a w necie widze print, z czym to sie je? pozdrawiam.
Lee
1.print jest wolniejesze od echo
2. echo jest poprostu częścią php, a print funkcją tak jak np. date
3. Tak przynajmniej pamiętam z książki winksmiley.jpg

poprawka:
nie jest tak na 100% nawet na 50% przeczytałem manuala (kilka fragmentów) i dowiedziałem się ze to i to jest tym samym z definicji - tak można by to nazwać a zastosowanie ? hmm ja bym echo uzywał nie wiem czemu, jakoś mi w krew to wszedło winksmiley.jpg

Pozdrawiam
Jim
tomekkk nie musisz, pod warunkiem że masz pewność że wprowadzane dane nie zawierają " lub ' i nie 'zepsują' zapytania.
np możesz przepuścić wprowadzanie dane przez walidację ( is_numeric(), preg_match() ), a jeśli wprowadzanie dane są tylko np liczbami generowanymi w skrypcie to imo nie ma konieczności używania addslashes()

echo jest szybsze i zaleca się używania go.
Gość
a gdybym do walidacji kazdego formularza uzyl js'a to chyba bylo by po klopocie ?
Jim
tak na 90%, bo możliwe, że można ominąć walidację javascript i przesłać dane bezpośrednio.
mike
Cytat(Gość @ 27.07.2006, 19:35 ) *
a gdybym do walidacji kazdego formularza uzyl js'a to chyba bylo by po klopocie ?
To wtedy wyłączam JS jednym kliknięciem i wysyłam co chcę tongue.gif

magic_quotes jednym słowem są złe.
Twórcy php chcieli ludziom ułatwić sprawe i tylko utrudnili.

Przesyłane dane zawsze mają backslashe, czy to jest OK? Nie.
Dlaczego? Bo nie zawsze potrzebujemy te dane filtrować. Nie zawsze idą one do bazy danych, często idą do pliku, a wtedy backslashe nie sa potrzebne. Tak samo kiedy chcemy coś wyświetlić na ekran, po co nam backslashe? Po nic.

Uciekać od znaków specjalnych trzeba wtedy kirdy jest taka potrzeba a nie zawsze kiedy się tylko da.

Tym bardziej, że dane wstawiane do bazy danych powinny być filtrowane za pomocą mysql_escape_string() (lub mysql_real_escape_string()) a nie za pomocą addslashes().
Gość
dzieki za odpowiedzi, wszystko wydaje sie logiczne, ale samemu tak na to od razu wpasc nie jest latwo tym bardziej ze zaczynam 'przygode' , widocznie mam jakas przestarzala ksiazke gdyz nie ma slowa o tych funkcjach ktore wymieniles
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.