Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z < > podczas zapisu sql
Azz
post 27.01.2006, 22:21:42
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.07.2005

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


Witam

Gdy w formularzu (dosyc rozbudowanym)

wpisze np. <i> do bazy zapisuje mi to jak &lt;i&gt;

Co zrobić aby zapisywał to jako <i> do bazy ?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
dr_bonzo
post 27.01.2006, 22:32:07
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Gdzies po drodze (od formularza do bazy) traktujesz dane funkcja htmlspecialchars(). Po prostu nie rob tego.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
zone
post 27.01.2006, 23:47:26
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 13.07.2004
Skąd: Sanok

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


Potraktuj za to:
  1. <?php
  2. strip_tags($zawartosc, '<i>');
  3. ?>


Pozdrawiam/Zone

Ten post edytował zone 27.01.2006, 23:47:48
Go to the top of the page
+Quote Post
dtb
post 28.01.2006, 10:03:46
Post #4





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


  1. <?php
  2. $string = str_replace (array ('&lt;', '&gt;'), array ('<', '>'), $string);
  3. ?>


Ten post edytował dtb 28.01.2006, 10:41:02


--------------------
Go to the top of the page
+Quote Post
aleksander
post 28.01.2006, 10:19:31
Post #5





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


@zone, @dtb: takie rozwiązywanie błędów "na piechote" jest niezbyt poprawne. skoro jest w kodzie "błąd" który zamienia <> na &lt; &gt; to po kiego grzyba zamiast ten blad znalezc pisac funkcje odwracającą?
Go to the top of the page
+Quote Post
dtb
post 28.01.2006, 10:39:37
Post #6





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


moze to nie jest blad. zrob jakies zapytanie INSERT do bazy danych a jako wartosc jakiegos pola daj '<'. mozliwe ze to baza zamienia znaki.
~EDIT: jezeli tak to wyzej podalem ci rozwiazanie

Ten post edytował dtb 28.01.2006, 10:40:00


--------------------
Go to the top of the page
+Quote Post
mike
post 28.01.2006, 10:50:43
Post #7





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(dtb @ 2006-01-28 10:39:37)
moze to nie jest blad. zrob jakies zapytanie INSERT do bazy danych a jako wartosc jakiegos pola daj '<'. mozliwe ze to baza zamienia znaki.

Samo się nic nie dzieje.

A na pewno baza sama sobie nie postanowiła nagle że pozamienia znaki.

To co się dzieje to wynik błędu i należy go znaleść a nie poprawieć i łatać, bo takim sposobem to Ci Windows wyjdzie laugh.gif

Tak jak napisał ~dr_bonzo gdzieś pomiędzy odebraniem danych od użytkownika a zapisem ich do bazy jest funkcja która zamienia te znaki.
Go to the top of the page
+Quote Post
Azz
post 28.01.2006, 13:58:47
Post #8





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.07.2005

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


Funkcja zmienia to jak wpisze w Ramce Donor [Suffix], [Preffix] tutaj
input suffix , prefix

kod (dosyc obszerny)(bez znaczników <?php ?>)
tylko dla dsuffix i dprefix powinno zapisywać normalnie tak jak sie pisze < >


Pozdrawiam

Problem rozwiązany, patrzałem na kod 30 minut aż wkońcu doszłem jak naprawić teraz wpis do bazy jest w postaci < > smile.gif

Dzięki za fatyge

Ten post edytował Azz 28.01.2006, 15:01:40
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 12:57