Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: znaki specjalne z formularza do bazy MySQL
Forum PHP.pl > Forum > Przedszkole
Anonymous
Pytanko jest takie: Jak bez problemowo przekazać treść z pola textarea do bazy Mysql, w tym takie znaczki jak " i ' . Problem polega na tym, że php przy przesyłaniu treści z pola textarea do skryptu obsługującego, dodaje przed takimi znaczkami slashe ( / ), z tym się uporałem funkcją stripslashes(), ale już z zapisem do bazy pojawia się problem, po prostu nie zapisuje się tekst, w którym pojawiają się np. cudzysłowy. Dla zobrazowania wycinek kodu:
[php:1:eb984b05ee]<?php
$sttPl=stripslashes($_POST["Pl"]); //tekst z pola textarea
mysql_query("UPDATE Tresci SET Tresc='$sttPl' WHERE idStrony=4",$conn);
?>[/php:1:eb984b05ee]
Z góry dzięki za wszelką pomoc.
kszychu
Wywal stripslashes() i wszystko ędzie ok.
Anonymous
Faktycznie jest ok, dzieki wielkie biggrin.gif
switch
No tak, ale czy to na pewno jest to najlepszy sposób na zapewnenie bezpieczeństwu bazie danych jeżeli prześlę co dusza zapragnie :? W zasadzie mało kto wpisuje cudzysłowy w TEXTAREA. Czasami trzeba wybrać mniejsze zło lub zdefiniować samemu w kodzie, że jeżeli takie znaki wystąpią zostaną usunięte. Oczywiście można mieć inne zdanie, ale pisanie kodu nie zawsze po najprostszej linii jest bezpieczne dla bazy. Dla mnie taka ewentualność to wprost zachęta do "rozwalenia bazy w drobny mak", ale oczywiście każdy ma inne zdanie. Pozdrawiam. 8)
Kinool
[manual:1c63ec5654]mysql_escape_string[/manual:1c63ec5654] to tez dobre rozwiazanie smile.gif
kszychu
Cytat
No tak, ale czy to na pewno jest to najlepszy sposób na zapewnenie bezpieczeństwu bazie danych jeżeli prześlę co dusza zapragnie  :?


Zastanów się czy wiesz o czym mówisz? Przeczytaj jak zachowuje się funkcja stripslashes() i pomyśl dlaczego doradziłem, by ją usunął.
rze-X-nik
Tak na marginesie: to wystarczy tylko str_replace() do cudzysłowów, i wordwrapa albo $zmienna{ile} aby nic się nie wysypywało.
pc5
Dobrze Panowie, ale jak teraz takie coś wypisać z bazy? ohmy.gif Wpisy z pół wypisuję potem w tych samych polach, tylko ustawiam sobie wartość value="$wiersz['pole_z_bazy']", gdzie wiersz jest tablicą przechowującą konkretne wartości.
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.