Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obłusga znaków specjalnych z magic_quotes
melior
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 3
Dołączył: 7.12.2009

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


Witam,
Zwracam się z pomocą bo trochę się już pogubiłem w obsłudze znaków specjalnych, a szczególnie w przypadku, gdy skrypt ma obsługiwać strony mające włączone magic_quotes i te bez.

Ogólnie wszystko działa mi ok, poza przypadkiem gdy ktoś wklepie backslasha "\"

Przy dodawaniu do bazy mysql mam taki kod
  1. $name = trim($name);
  2.  
  3. $name= htmlentities($name);
  4. }
  5. else{
  6. $name= htmlentities($db->real_escape_string($name));
  7. }


Przy wyświetlaniu w input text
  1. <input type="text" name="name" value="<?php
  2. echo $edit?htmlspecialchars(stripslashes($_POST['name'])):'';
  3. }else{
  4. echo $edit?html_entity_decode(htmlspecialchars($_POST['name'])):'';
  5. }
  6.  
  7. ?>">


Efekt jest taki, że gdy na serwerze z magic_quotes wpiszę "\test\" to zapisze się to poprawnie do bazy danych, ale przy wyświetlaniu w input text gubię "\" i dostaję samo "test".
Na localhost gdzie nie mam magic_quotes wszystko hula.

Wolę się spytać jak to powinno wyglądać dobrze, bo nie chcę za dużo mieszać w kodzie na próbach. Wystarczająco dużo czasu męczyłem się by kod obsługiwał poprawnie ' i " (IMG:style_emoticons/default/dostal.gif)

Dzięki za wszelką pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
piotr94
post
Post #2





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


hmm, niby ciąg znaków "\test\" powinno zamienić na \"\\test\\\" i takie coś powinno zostać wysłane do bazy danych, sprawdź więc co tak na prawdę wychodzi po odpaleniu takich instrukcji. Jedyny pomysł, który przychodzi mi na szybko to ręczna zamiana na encje i na odwrót.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 20:58