Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]$_GET, $_COOKIE i problem ze znakami specjalnymi
Forum PHP.pl > Forum > Przedszkole
Age1869
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ę @
Age1869
Właśnie już tego próbowałem 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ł?smile.gif
krzywy36
a próbowałeś zapisywać do cookie z urlencode i dopiero przy użyciu używać urldecode?
rocktech.pl
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: =;,
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.