Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Znak " przerywa odczytywanie zmiennych
Jarod
post 18.06.2005, 12:02:29
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Panowie mam problem. Mam w systemie link "Baza sprzętu". Kiedy użytkownik kliknie na ten link, zostaje wypisany cały sprzęt który on poasiada z możliwością edycji, kasowania.
Np.
Rysunek 1

Wszystko wyświetla się ok (chodzi mi o ten monitor - druga pozycja)


Po prawej stronie jest link "więcej". Po kliknięciu go myszką dostajemy pełne informacje o sprzęcie + naprawy (nie pokazałem tego na rysunku). Zauważcie, że na tym drugim pisze już tylko Monitor 17. Znak " blokuje wyświetlenie reszty..

Rysunek 2

We wszystkich skryptach dodających do bazy stosowałem strip_tags. Skrytp odpowiedzialny za link "więcej" to:

---
Prosze dac linak do kodu php najlepiej z rozszerzenie phps (pokolowana skladnia)
Kodu bylo duzo i zle sie go czytalo pozatym nie byl kompetny, ulatwi to znaleznie rozwiazania uzytkownikom przegladajacym temat.
hwao


Ten post edytował hwao 18.06.2005, 13:48:25


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
crash
post 18.06.2005, 12:39:19
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Za dużo tego wkleiłeś, forum się rozjechało tongue.gif Nawet nie widać gdzie ci się coś sypie. Jeśli chodzi o " używaj funkcji *slashes(), albo ustaw w php.ini magic quotes gpc.


--------------------
Go to the top of the page
+Quote Post
Jarod
post 18.06.2005, 13:08:33
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Poprawiłem pierwszego posta. Wcześniej rzyczywiście strasznie zamotałem. Może to rojaśni mój problem. Proszę o jakieś wskazówki.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
yavaho
post 18.06.2005, 13:34:03
Post #4





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Zamieniaj znaki " na "
  1. <a href="index.htm">Monitory 17&quot; (iiYama)</a>


--------------------
Książki informatyczneKsiążki biznesowe
Warsztat: notepad hardcore
Go to the top of the page
+Quote Post
crash
post 18.06.2005, 13:36:29
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Użyj htmlspecialchars" title="Zobacz w manualu PHP" target="_manual() z ENT_NOQUOTES na nazwie monitora i innych "podejżanych" ciągach...


--------------------
Go to the top of the page
+Quote Post
Jarod
post 18.06.2005, 13:45:35
Post #6





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(crashu @ 2005-06-18 12:36:29)
Użyj htmlspecialchars" title="Zobacz w manualu PHP" target="_manual() z ENT_NOQUOTES na nazwie monitora i innych "podejżanych" ciągach...

Ale przecież htmlspecialchars() to prawie to samo co strip_tags.. Tyle że strip_tags nie obcina znaków htmlowych na stałe..

I jeszcze jedno: Przecież w jednym miejscu wyświetla znak " a drugim skrypcie nie.. Pokręcone to..


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
crash
post 18.06.2005, 13:58:38
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Nie chodzi o usuwanie tagów, ale o zamiane " na &quot;


--------------------
Go to the top of the page
+Quote Post
Jarod
post 18.06.2005, 14:02:38
Post #8





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(crashu @ 2005-06-18 12:58:38)
Nie chodzi o usuwanie tagów, ale o zamiane " na &quot;

Rzeczywiście to pomaga. Mam jeszcze takie pytanie.
Czy lepiej stosować przy zapisie do bazy strip_tags czy htmlspecialchars ?

I przy odczytywaniu zawsze stosować htmlspecialchars()?

A może przepuszczać najpierw przez strip_tags a potem jeszcze raz przez htmlspecialchars ?

pozdrawiam

Ten post edytował J4r0d 18.06.2005, 14:24:22


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
-qsysiu-
post 18.06.2005, 14:43:43
Post #9





Goście







Cytat(J4r0d @ 2005-06-18 13:02:38)
Cytat(crashu @ 2005-06-18 12:58:38)
Nie chodzi o usuwanie tagów, ale o zamiane " na &quot;

Rzeczywiście to pomaga. Mam jeszcze takie pytanie.
Czy lepiej stosować przy zapisie do bazy strip_tags czy htmlspecialchars ?

I przy odczytywaniu zawsze stosować htmlspecialchars()?

A może przepuszczać najpierw przez strip_tags a potem jeszcze raz przez htmlspecialchars ?

pozdrawiam

Strip usunie znaczniki html. Później puść przez html.. i po kłopocie. Gorzej z wydajnością. Ale to nie mój problem
Go to the top of the page
+Quote Post
dag
post 18.06.2005, 15:18:35
Post #10





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 24.12.2003

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





Cytaty z manuala:
strip_tags:
  1. <?php
  2.  
  3. $text = '<p>Test paragraph.</p><!-- Comment --> Other text';
  4. echo strip_tags($text);
  5. echo &#092;"n\";
  6.  
  7. // Allow <p>
  8. echo strip_tags($text, '<p>');
  9.  
  10. ?>

da rezultat:
Cytat
Test paragraph. Other text
<p>Test paragraph.</p> Other text



htmlspecialchars
  1. <?php
  2.  
  3. $new = htmlspecialchars(&#092;"<a href='test'>Test</a>\", ENT_QUOTES);
  4. echo $new; // &lt;a href='test'&gt;Test&lt;/a&gt;
  5.  
  6. ?>


IMHO wystarczy htmlspecialchars.
Cytat
The translations performed are:

    * '&' (ampersand) becomes '&amp;'
    * '"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set.
    * ''' (single quote) becomes ''' only when ENT_QUOTES is set.
    * '<' (less than) becomes '&lt;'
    * '>' (greater than) becomes '&gt;'


--------------------

------------------------------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
Jarod
post 18.06.2005, 15:41:04
Post #11





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(dag @ 2005-06-18 14:18:35)
IMHO wystarczy htmlspecialchars.

Uważam, że się mylisz. Jeśli zastosuję tylko htmlspecialchars to pomyśl co się stanie jak użytkownik wpisze w formularzu np imie coś takiego
  1. <strong>imie<strong>


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
dag
post 18.06.2005, 15:43:47
Post #12





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 24.12.2003

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


Cytat(J4r0d @ 2005-06-18 16:41:04)
Cytat(dag @ 2005-06-18 14:18:35)

IMHO wystarczy htmlspecialchars.

Uważam, że się mylisz. Jeśli zastosuję tylko htmlspecialchars to pomyśl co się stanie jak użytkownik wpisze w formularzu np imie coś takiego
  1. <strong>imie<strong>

Oczywiście masz rację ;-) mi chodziło jednak o rozwiązanie jedynie tego jednego problemu.


--------------------

------------------------------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
Jarod
post 18.06.2005, 15:50:42
Post #13





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Więc może lepiej zrobić tak jak kazał ksysiu?

Po przemyśleniu problemu doszedłem do wniosku, że najlepszym rozwiązaniem jest zapisywać strongi do bazy wykorzystując strip_tags. A przy odczytywaniu stosować htmlspecialchars.
Dziękuje wszystkim za pomoc.

pozdrawiam

Ten post edytował J4r0d 18.06.2005, 17:11:47


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
-Guest-
post 18.06.2005, 19:18:50
Post #14





Goście







A ja mam inny problem. Mam pole textarea i jak w nim wpisze coś takiego
Cytat
<?php
#$%^!@!#!@#%$%&^)()L?I:L
?>


To wszystko się rozwala.. sadsmiley02.gif
Go to the top of the page
+Quote Post
strife
post 18.06.2005, 19:22:44
Post #15





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(Guest @ 2005-06-18 20:18:50)
A ja mam inny problem. Mam pole textarea i jak w nim wpisze coś takiego
Cytat

<?php
#$%^!@!#!@#%$%&^)()L?I:L
?>


To wszystko się rozwala.. sadsmiley02.gif

A nie pomaga htmlspecialchars" title="Zobacz w manualu PHP" target="_manual questionmark.gif?

BTW.

Czytałeś wogóle ten temat??


--------------------
Go to the top of the page
+Quote Post
-Guest-
post 18.06.2005, 20:14:43
Post #16





Goście







Czytałem. htmlspecialchars nie pomaga
Go to the top of the page
+Quote Post
-Guest-
post 18.06.2005, 21:03:23
Post #17





Goście







Zauważyłem coś takiego. Jeśli wpiszę
Cytat
dupa<?phpfgdfgdf?>

To zapisze do bazy dupa (stosuje htmlspecialchars)

A jeśli wpisze
Cytat
<?phpfgdfgdf?>


To wstawia do bazy pusty wiersz i potem się rozypuje. Obcina wszystko między znakiem < i >. Jak sprawdzić długoś takiego stringu bez tego co ma obciąć żeby nie zapisywał pustego stringu?
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: 14.08.2025 - 06:41