Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> znaki specjalne z formularza do bazy MySQL
post 4.06.2004, 13:35:34
Post #1





Grupa:
Postów: 0
Pomógł:
Dołączył: --

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
kszychu
post 4.06.2004, 13:39:14
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Wywal stripslashes() i wszystko ędzie ok.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
post 4.06.2004, 13:56:55
Post #3





Grupa:
Postów: 0
Pomógł:
Dołączył: --

Ostrzeżenie: (0%)
-----


Faktycznie jest ok, dzieki wielkie biggrin.gif
Go to the top of the page
+Quote Post
switch
post 5.06.2004, 21:30:04
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 19.08.2003

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post
Kinool
post 5.06.2004, 23:44:17
Post #5





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


[manual:1c63ec5654]mysql_escape_string[/manual:1c63ec5654] to tez dobre rozwiazanie smile.gif


--------------------
Go to the top of the page
+Quote Post
kszychu
post 7.06.2004, 08:54:31
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


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ął.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
rze-X-nik
post 7.06.2004, 09:32:38
Post #7





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 20.03.2004
Skąd: Szczebrzeszyn

Ostrzeżenie: (10%)
X----


Tak na marginesie: to wystarczy tylko str_replace() do cudzysłowów, i wordwrapa albo $zmienna{ile} aby nic się nie wysypywało.


--------------------
while(!$wakacje){ czekaj();
}
if($wakacje){ yuppie();
} exit;
Go to the top of the page
+Quote Post
pc5
post 26.03.2005, 22:28:24
Post #8





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.05.2025 - 04:48