Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak odroznic cale od apostrofa
marmomm
post 11.02.2005, 21:09:32
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.06.2004

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


mam problem z przesylaniem w zmiennych tekstu zawierajacego znaczek '' (czyli podwojny apostrof czytaj cale)

addslashes dodaje mi tylko /do pierwszego ' a drugi konczy mi zmienna w linku i robi sie kaszanka...

zalozmy ze zmienna ma wartosc
$zmienna = "costamz'' cali";
probowalem juz

echo '<a href="sdsds.php?co=',addslashes($zmienna),'">fsd</a>';
i
echo "<a href=\"sdsds.php?co=".addslashes($zmienna)."\">fsd</a>";


pomozecie?questionmark.gif
Go to the top of the page
+Quote Post
Vertical
post 11.02.2005, 21:13:28
Post #2





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Najlepiej byłoby dać w echo cudzysłów zamiast apostrofu:
  1. <?php
  2. echo &#092;"<a href='sdsds.php?co=$zmienna'>fsd</a>\";
  3. ?>


Ten post edytował Vertical 11.02.2005, 21:17:05
Go to the top of the page
+Quote Post
Sabistik
post 11.02.2005, 21:15:52
Post #3


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


  1. <?php
  2. echo &#092;"<a href=\"sdsds.php?co=\"\".$zmienna.\"\">fsd</a>\";
  3. ?>
Go to the top of the page
+Quote Post
marmomm
post 11.02.2005, 21:28:08
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.06.2004

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


no cos nie idzie wklejcie sobie ten kod i zobaczcie co to daje


  1. <?
  2. $zmienna = &#092;"blabla (3LP + bonus 7'' single)\";
  3. echo '<br>';echo $zmienna; echo '<br>';
  4. echo '<a href=\"test.php?co=',addslashes($zmienna),'\">proba1</a>';
  5. echo '<br><br>';
  6. echo &#092;"<a href=\"test.php?co=\".addslashes($zmienna).\"\">proba2</a>\";
  7. echo'<br><br>';
  8. //propozycja Vertical zzamienionymi slashami
  9. echo &#092;"<a href=\"test.php?co=\".$zmienna.\"\">proba Ver</a>\";
  10. echo'<br><br>';
  11. //propozycja Sabistik
  12. echo &#092;"<a href=\"test.php?co=\"\".$zmienna.\"\">proba Sab</a>\";
  13.  
  14.  echo '<br>';if ($co != '')
  15.  echo $co;
  16. ?>
Go to the top of the page
+Quote Post
Vertical
post 11.02.2005, 21:34:03
Post #5





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Zamiast linii
  1. <?php
  2. echo '<a href=\"test.php?co=',addslashes($zmienna),'\">proba1</a>';
  3. ?>

powinno być
  1. <?php
  2. echo '<a href=\"test.php?co='.addslashes($zmienna).'\">proba1</a>';
  3. ?>

Dałeś przecinki zamiast kropek

Ten post edytował Vertical 11.02.2005, 21:34:43
Go to the top of the page
+Quote Post
marmomm
post 11.02.2005, 21:37:10
Post #6





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.06.2004

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


Cytat(Vertical @ 2005-02-11 20:34:03)
Dałeś przecinki zamiast kropek

ejj !
a jakie to ma znaczenie dziala z , i z . tyle ze zle!

cos mi sie wydaje ze zgadujesz :/
Go to the top of the page
+Quote Post
Sabistik
post 11.02.2005, 21:42:09
Post #7


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


  1. <?php
  2.  
  3. echo &#092;"<a href=\"test.php?co=\".addslashes($zmienna).\"\">ble</a>\";
  4.  
  5. ?>


to mi dziala poprawnie tym razem sprawdzone biggrin.gif

Ten post edytował Sabistik 11.02.2005, 21:42:50
Go to the top of the page
+Quote Post
marmomm
post 11.02.2005, 21:52:10
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.06.2004

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


a mi zadzialala wersja:
  1. <?php
  2. echo '<a href=\"test.php?co=',$zmienna,'\">proba1</a>';
  3. ?>

z
  1. <?php
  2. ?>


ale Twoja nie smile.gif
daje mi na wyjsciu:
gdy nie mam stripslashes: blabla (3LP bonus 7\\\'\\\' single)
gdy mam stripslases: blabla (3LP bonus 7\'\' single)
juz zglupialem..
Go to the top of the page
+Quote Post
rogrog
post 12.02.2005, 16:52:09
Post #9





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


Cytat
  1. <?php
  2.  
  3. echo '<a href=\"sdsds.php?co=',addslashes($zmienna),'\">fsd</a>';
  4.  
  5. ?>


hmm zastanówmy się.

wprowadzamy załóżmy 52 cale: 52"

po pierwsze jak powinien wyglądać adres URL takiej strony?
czy

Kod
sdsds.php?co=52"

?

nie. urle kodujemy zgdonie z zasadami - w php realizuje to funkcja urlencode
url powinien wyglądać tak:

Kod
sdsds.php?co=52%22


dodatkowo powinieneś pamiętać że jeżeli chcesz użyć cudzysłowu w kodzie html to powinieneś użyć &quot; zamiast " - realizuje to funkcja htmlspecialchars albo htmlentities. W tym wypadku nie jest potrzebna bo cudzysłów został zamieniony na %22

trzeba sobie uzmysłowić że kiedy coś tworzymy, musimy to tworzyć zgodnie z zasadami. Tworzymy URL - zastępujemy znaki specjalne; tworzymy kod html - używamy encji zamiast &, " itp. . Tworzymy URL w HTMLu - pamiętamy o obydwóch sprawach. Tworzymy zapytanie SQL - dodajemy znaki ucieczki.

Ten post edytował rogrog 12.02.2005, 17:25:50


--------------------
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: 10.05.2025 - 06:51