Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]Dodawanie kodu HTML do bazy i inne pytania..
Forum PHP.pl > Forum > Przedszkole
MasterM
Witam

Jako że dopiero zaczynam "na poważnie" tworzyć strony z pomocą mysql w związku z tym, mam kilka pytań co do tej formy zapisu (przechowywania) danych..

1) czy do tabel MySQL można wprowadzać kod HTML - chodzi o to, aby po pobraniu z bazy przez kod PHP na stronie wyświetliło mi się to już w "okrojonej" formie - tzn ze z zachowaniem styli, tabel itd

2) Jeśli wprowadzam do bazy znak ? do kolumy o typie VARCHAR to czy przed ? muszę postawić znak \ questionmark.gif

3) Właściwie podobne do powyższego pytania: przed jakimi znakami trzeba postawić backslash wprowadzając dane do MySQL?

Pozdrawiam

MasterM
wipo
bezpiecznie jest użyć funkcji htmlspecialchars w celu zamiany niektórych znaków na znaki o
MasterM
Cytat(wipo @ 3.05.2007, 16:34:34 ) *
bezpiecznie jest użyć funkcji htmlspecialchars w celu zamiany niektórych znaków na znaki o


No dobrze ale tej funkcji powinienem użyć chyba jeśli będę już pobierał dane z bazy - i wtedy ona zamieni mi np < na < - a co z wprowadzaniem do bazy - jeśli muszę do bazy wprowadzić za pomocą instrukcji INSERT Into tabela1 VALUES (NULL, 'No I don't'); - to czy to powinno wyglądać tak:

  1. INSERT INTO tabela1 VALUES (NULL, 'No I don't');



I co jeśli do bazy chcę wprowadzić kod html, np coś takiego

  1. Na imię mam Franek.<br />
  2. Mieszkam w stolicy.<br />
  3.  
  4. <h2>Mam 25 lat</h2>
www0_0
ogólnie to W znakach które mogą przeszkadzać językowi programowania, a są potrzebne jedynie do wyświetlania tekstów to stosuje się raczej encje
Natomiast co do wprowadzania danych do bazy, to jednak zalecał bym wprowadzanie samych danych bez HTML-a bo pomyślałeś o tym co będzie jak zechcesz zmienić wygląd i układ strony?? będziesz edytował całą bazę?? Ostatnio modne jest rozdzielanie strony na kilka sekcji:

Kod(np PHP) -> Semantyka (treści) -> wygląd (CSS)
Joachim Peters
Przy wysyłaniu danych do bazy korzystaj z mysql_real_escape_string() lub mysql_escape_string().
MasterM
Cytat(d@ro @ 3.05.2007, 17:08:16 ) *
Przy wysyłaniu danych do bazy korzystaj z mysql_real_escape_string() lub mysql_escape_string().


Szukałem troche o tej funkcji i to będzie tak, że jak tekst, który mam do wstawienia do bazy, "przepuszcze" przez tą funkcję, to przed wszystkimi znakami typu ', ", :, (, ) itd wstawi się backslash (\) tak?

edit: dobra, skorzystałem z funkcji mysql_escape_string(), tylko moją wątpliwość budzi czemu ona przed ' dodaje 3 slashe zamiast jednego - czy tak powinno być i czy wtedy nic sie nie "sknoci"? biggrin.gif
Cytat(www0_0 @ 3.05.2007, 17:07:21 ) *
Natomiast co do wprowadzania danych do bazy, to jednak zalecał bym wprowadzanie samych danych bez HTML-a bo pomyślałeś o tym co będzie jak zechcesz zmienić wygląd i układ strony?? będziesz edytował całą bazę?? Ostatnio modne jest rozdzielanie strony na kilka sekcji:

Kod(np PHP) -> Semantyka (treści) -> wygląd (CSS)


Hmmm - o ile przy stosowaniu znacznika <br /> można go zastąpić nl2br, to jak po pobraniu tekstu z bazy mam go sformatować? Jeśli np. w którymś miejscu chciałbym dodać div albo <h2></h2>??

Chyba że chodziło ci o Smarty to sorry...
www0_0
Smarty to jedno co miałem na myśli:)
Poza tym Istnieje jeszcze coś takiego jak wyrażenia regularne i właśnie nimi zamieniasz wszystkie encje na to co chcesz:)
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.