![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
W panelu gdzie uyżytkownik dodaje na moją stronę standardowy link youtube do filmiku w postaci: np. Kod <iframe width="480" height="360" src="http://www.youtube.com/embed/Obs-DU6SJZ4" frameborder="0" allowfullscreen></iframe> dodaje go za pomocą formularza. później to jest wysyłane (php) do bazy Mysql i później z bazy to publikuję. Niestety po wpisaniu do formularza znaczników html one giną , po prostu nie wysyłają się. Jak mogę naprawić ten problem? Dodam że jest to projekt osoby początkującej więc proszę o jakieś dość jasne wytłumaczenie jak to poprawić |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 25 Dołączył: 29.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
pokaz kod
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym obstawiał, że zapisujesz dane pozyskane z formularza postem do zmiennej używając znaku cudzysłowu.
$zmienna = "$_POST['costam']"; I w takim przypadku - wszystkie znaki cudzysłowu w kodzie html jaki chcesz przesłać zostają poprzedzone \ |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Użytkownik raczej nie powinien móc dodawać znaczników html, zwłaszcza że powinno wystarczyć jak poda odnośnik do źródła na YT. Jeśli jednak użytkownik musi wpisać cały kod html, to chyba trzeba skorzystać z htmlentities() przy dodawaniu do bazy danych i html_entity_decode() przy pobieraniu z bazy danych. Może się również zdarzyć, że adres źródła trzeba będzie przepuścić przez urlencode() i urldecode(), co w Twoim przypadku wiąże się dodatkowo z użyciem PCRE (wyrażeń regularnych) i funkcji z grupy preg_*.
@down: Właśnie miałem dopisać, że być może wystarczy użyć tylko mysql_real_escape_string() przy dodawaniu do bazy danych, ale nie sprawdzałem. Ten post edytował mortus 28.03.2012, 20:06:22 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
@mortus: mysql_real_escape_string nie przepuści html? Nigdy nie sprawdzałem bo zezwolenie użytkownikom na wysyłanie htmla to głupota. Nie lepiej żeby podawali dla przykładu
samą wartość Obs-DU6SJZ4? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
mysql_real_escape_string usunie Ci jedynie cudzysłowie i znaczniki będące składnią języka SQL. radzę dogłębnie przefiltrować dane pod kątem znaczników HTML. najlepiej napisać własną klasę do takich rzeczy.
pozdrawiam! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 19:34 |