Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis do bazy mysql. Wejście: & Wyjście: &
Forum PHP.pl > Forum > PHP
joka2
Niektóre dane,

które są dopisywane do mojej bazy za pomocą skryptu w PHP posiadają znaki "and":
  1. &

Skrypt dopisujący do bazy posiada zabezpieczenie, które zmienia ciąg znaków (tekst w którym są zawarte znaki "and" oraz inne) na tekst. Wykonuje to funkcja: mysql_real_escape_string().

Efektem jest wyświetlanie na stronie, wcześniej wpisanych znaków, jako encje. Przykładowo wpisanie za pomocą skryptu znaku & zapisze się w bazie jako &.

Czy istnieje możliwość obejścia zamiany znaków "&" oraz innych, których lista znajduje się na stronie: tabela na encje?

pozdrawiam,
Marek
erix
Pokaż kod, który zapisuje. Używasz jakiegoś edytora WYSIWYG a'la TinyMCE?
joka2
Nie używam wspomagaczy. Wszystko piszę w notatniku smile.gif

  1. $zapytanie="INSERT INTO `baza` (`data`, `opis`) VALUES ('".safe($obecna_data)."', '".safe($opis)."')";


safe() to funkcja znajdująca się na początku kodu:

  1. function safe($value){
  2. return mysql_real_escape_string($value);
  3. }


która chroni przed wprowadzaniem niepożądanych znaków przez użytkowników.
Sądzę (jeszcze nie sprawdzałem), że to właśnie przez tą funkcję mam problem z dodawanym znakami (&) lub (").

Pozdrawiam,
Marek
Wicepsik
  1. function safe($value){
  2. return str_replace('&', '&', mysql_real_escape_string($value));
  3. }


joka2
Działa!

Ślicznie dziękuję za pomoc.
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.