Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][MySQL][PHP]Walidacja tablicy json przed dodaniem do bazy danych a real string
Forum PHP.pl > Forum > Przedszkole
drobok
Witam,

Jak za pomocą php, sparsować tablicę json'a, przed jej dodaniem do bazy danych ?

Mam kod, który tworzy mi tablicę. Następnie wysyła ją post do serwera, serwer zapisuje ją do bazy danych w celu późniejszego wykorzystania.
Wszystko jest ok. Lecz pozostaje kwestia możliwości samego wglądu w kod po stronie użytkownika, po czym zmiana danych wysyłanych przez użytkownika na złośliwy kod.
Chciałem do tego użyć real_string'a. Jednak nie potrafię zamienić go z powrotem na stringa do json_decode smile.gif
maniana
Po potraktowaniu danych przez mysql_real_escape_string nie wystarczy po odczycie stripslashes?
drobok
No niestety nie wystarczy. Wywala mi null. Najwyraźniej json ma problem z w/w funkcją.
Coś w ten deseń http://stackoverflow.com/questions/2079711...pslashed-string
maniana
Znalazłem w necie taką funkcję:
  1. $json_string = mysql_real_escape_string(json_encode(array("Testujemy różne /\ ''znaki/")));
  2. $json_string = unescape($json_string);
  3.  
  4. var_dump(json_decode($json_string));
  5.  
  6. function unescape($string){
  7. $search = array("\\x00", "\\n", "\\r", "\\\x1a");
  8. $replace = array("\x00","\n", "\r", "\x1a");
  9. $retString = str_replace($search, $replace, $string);
  10.  
  11. $search = array("\'", '\\'.'"');
  12. $replace = array( "'", '"',);
  13. $retString = str_replace($search, $replace, $retString);
  14.  
  15. $search = array("\\\\");
  16. $replace = array( "\\");
  17. $retString = str_replace($search, $replace, $retString);
  18.  
  19. return $retString;
  20. }
drobok
Tx, obie funkcje działają. O błędzie zorientowałem się, gdy druga również zaczęła zwracać null
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.