Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]$_GET, $_COOKIE i problem ze znakami specjalnymi
Age1869
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 6
Dołączył: 25.10.2010
Skąd: Radzyn Podlaski

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


Witam serdecznie, piszę prosty skrypt i jak zwykle w takich momentach najwięcej problemów się piętrzy przed człowiekiem.

Otóż z adresu za pomocą zmiennej $_GET pobieram maila i tworzę z niego nowe cookie. Niestety w tym momencie gdzieś ulatnia mi się @
Go to the top of the page
+Quote Post
krzywy36
post
Post #2





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

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


może http://php.net/manual/en/function.urlencode.php i http://www.php.net/manual/en/function.urldecode.php pomoże (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Age1869
post
Post #3





Grupa: Zarejestrowani
Postów: 118
Pomógł: 6
Dołączył: 25.10.2010
Skąd: Radzyn Podlaski

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


Właśnie już tego próbowałem (IMG:style_emoticons/default/sad.gif)

Najpierw urlencode, więc wychodziło mi mail%40cos.pl

Taki ciąg przekazywałem $_GET i zapisywałem jaki $_COOKIE bez urldecode, efekt? Brak małpy. Jeżeli zapisywałem do $_COOKIE poprzedzając to urldecode bez różnicy - małpy też brakowało.

Zapisywanie do $_COOKIE (pomijam decode/encode)

  1. if(!empty($_GET['ciag']) and empty($_COOKIE['ciag'])) {
  2. $ciag= $_GET['reflink'];
  3. setcookie("ref", $ciag, time()+604800);
  4. }


Ma ktoś jakiś pomysł?(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
krzywy36
post
Post #4





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

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


a próbowałeś zapisywać do cookie z urlencode i dopiero przy użyciu używać urldecode?
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #5





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

  1. $m = "mail@mail.com.pl W ciastku nie trzymaj znaków specjalnych: =;,";
  2. echo $m . PHP_EOL;
  3. $m = urlencode ( $m );
  4. //setcookie("Test", $m);
  5. echo $m . PHP_EOL;
  6. $m = urldecode ( $m );
  7. echo $m;


Rezultat

Kod
mail@mail.com.pl W ciastku nie trzymaj znaków specjalnych: =;,
mail%40mail.com.pl+W+ciastku+nie+trzymaj+znak%F3w+specjalnych%3A+%3D%3B%2C
mail@mail.com.pl W ciastku nie trzymaj znaków specjalnych: =;,


Ten post edytował rocktech.pl 21.06.2012, 14:27:19
Go to the top of the page
+Quote Post

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: 18.09.2025 - 14:44