Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z Ciasteczkami (Cookies) w PHP.:(
#1
Sad 
Witam. Mam Problem z Ciasteczkami w PHP v. 4.3.11 .

Mam prosty skrypt.. który ma zapamiętywać jakiś wyraz.
No i jak się łatwo domyśleć nie działają mi. Sad (w Teorii.)

Kod PHP:
<?php
     setcookie
("nazwa","zawartosć",time() + 86400);

if (
$_POST[imie] == TRUE) {
setcookie("imie",$_POST[imie]);
echo 
"Zostałeś zapamiętany,
<A HREF=\"ciasteczko_proba.php\">kliknij tutaj</A>"
;
}
else if (
$_COOKIE[imie] == TRUE) {
echo 
"Witaj <B>$_COOKIE[imie]"; }
else { echo 
"
<FORM ACTION=\"ciasteczko_proba.php\" METHOD=\"post\">
Podaj swoje imię: <INPUT TYPE=\"text\" NAME=\"imie\"><br />
<INPUT TYPE=\"submit\" VALUE=\"Zapamiętaj mnie\">
</FORM>"
; } ?>

Wyskakują mi błędy typu:
Notice: Use of undefined constant imie - assumed 'imie' in J:\xitami-25\webpages\new_solution\news\ciasteczko_proba.php on line 4

Notice: Undefined index: imie in J:\xitami-25\webpages\new_solution\news\ciasteczko_proba.php on line 4

Notice: Use of undefined constant imie - assumed 'imie' in J:\xitami-25\webpages\new_solution\news\ciasteczko_proba.php on line 14

Notice: Undefined index: imie in J:\xitami-25\webpages\new_solution\news\ciasteczko_proba.php on line 14


Żeby było zabawniej . odpaliłem drugi system gdzie mam zainstalowanego innego parsera php. A dokładniej krasnala z php 4.3.9 i tam ten sam skrypt działa po prawnie. Co gorsza. Info php . jest identyczne. Za wyjątkiem „PHP Variables” bo tego tam nie wyświetla.

W jednym systemie ciasteczka mi działają A drugim nie Czy wie Ktoś czemu tak jest.
Bo ja już wymiękam. Po prostu zabrakło mi pomysłów . Jak To naprawić (Zrobić żeby działało.)


w PHP 4.3.11 mam tak.:
Directive Local Value Master Value

session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off

session.use_cookies On On
session.use_only_cookies Off Off


W tym info – php są takie dane których nie było w popdzenim. Wiec nie miałem możliwości ich porównać.
HTTP_COOKIE pma_collation_connection=utf8_general_ci; pma_charset=iso-8859-1; pma_lang=pl-utf-8; pma_theme=original

A

W PHP Variables mam tak.

_COOKIE["pma_collation_connection"] utf8_general_ci
_COOKIE["pma_charset"] iso-8859-1
_COOKIE["pma_lang"] pl-utf-8
_COOKIE["pma_theme"] original


_SERVER["HTTP_COOKIE"] pma_collation_connection=utf8_general_ci; pma_charset=iso-8859-1; pma_lang=pl-utf-8; pma_theme=original

_ENV["HTTP_COOKIE"] pma_collation_connection=utf8_general_ci; pma_charset=iso-8859-1; pma_lang=pl-utf-8; pma_theme=original


Proszę, HELP ME i .Sad(( Bo od kilku dni się z tym męczę. Jak KTOS coś wie to niech napisze. Co i jak może być. W miarę opisowo . Bo już nie ma sił się domyślać.
Odpowiedz
#2
Spróbowałbym $_POST['imie'] i $_COOKIE['imie']. Tak na oko.
Odpowiedz
#3
Sad 
Na Samym wstępie chciałem podziękować za pomoc. Smile
Już umiem utworzyć ciasteczko. i odczytać z niego zmienną.

Ale mam jeden malutki jeszcze problemie. Wydawało mi się ze to są zmienne.
A ja chciałem Po utworzeniu ciasteczka. Z jakaś wartością móc modyfikować
Zawartości tej zmiennej. (w ciasteczku ) Bez konieczności Tworzenia Nowego ciasteczka. Czy też ponownego nad pisywania całego ciasteczka. Bo to by chyba oznaczało ze „setcookies” znowu musi być na początku to deklarować. Sad


Nie wiem czy dobrze wytłumaczyłem o co mi biega.
Chodzi mi o to ze jak mam już ciasteczko z jakaś wartością. To chciał bym módź ją modyfikować. Na bieżąco.


Czy da się to zrobić jak ta to jak? Po prosił bym o jakis przykład. Zapisywania nowej wartości zmiennej w już istniejącym ciasteczku.

Ja potraficie to pomóżcie mi.
Odpowiedz
#4
Nie trzeba setcookies na początku deklarować jeżeli w php.ini ustawisz output_buffering = On Smile
Odpowiedz
#5
Podepnę się pod ten temat... .

Kod PHP:
if ( isset($_GET['typ']) && in_array($_GET['typ'],$hash_type) ) {
    
setcookie('check-hash-type',$system->clearString($_GET['typ']));
echo 
'zapisalem ciacho';
}
echo 
$_COOKIE['check-hash-type']; 

I dopiero po ponownym odświeżeniu strony (nie koniecznie z przesyłanie $_GET[typ] ciasteczko da się odczytać...

Co jest nie tak?
Odpowiedz
#6
Wcale nie masz błędu, tak działają ciacha, wiąże się to z wysyłaniem ich w nagłówkach przed html. Dlatego trzeba odświeżyć.
Odpowiedz
#7
Ale jak przez JS odczytuję ciacho to odczytuje mi od razu normalnie - bez odświeżenia strony... .

Da się więc z poziomu PHP bez odświeżenie odczytać ciacho?
Odpowiedz
#8
Nie... Tylko poprzez AJAX i przesłanie do PHP dopiero...
Odpowiedz
#9
Wydaje mi się, że może być pewien trik, ale ręki sobie nie dam odciąć.
Chodzi o bufory, bo skoro można tylko tym sposobem wysyłać ciacha w środku dokumentu to i może można odczytać.
Jednak nigdy tego nie testowałem, Prościej chyba bezie js, jeśli to z buforami wogóle by zadziałało.

P.S. na dowód cytat z manuala PHP:
Cytat:Częste pułapki:
Ciasteczka nie będą widziane do następnego przeładowania strony dla której mają być widoczne.
Odpowiedz
#10
O jakie bufory ci chodzi?

(07-07-2009, 21:23)Labsta.com napisał(a): Wcale nie masz błędu, tak działają ciacha, wiąże się to z wysyłaniem ich w nagłówkach przed html. Dlatego trzeba odświeżyć.
To jest dla mnie logiczne i zrozumiałe. Zero uwag nie mam do tego, bo jest to logiczne :]
Dziwi mnie tylko to, że w jednej linijce tworzę ciasteczko, a w linijce poniżej nie mogę go odczytać... . To jest dla mnie bez sensu zrobione Tongue

Odczytywanie w JS oczywiście nie spełnia moich potrzeb... musiałem to obejść poprzez:
Kod PHP:
if ( isset($_GET['typ']) && in_array($_GET['typ'],$hash_type) ) {
    
$inCookie $system->clearString($_GET['typ']);
    
setcookie('check-hash-type',$inCookie);
}
else {
    
$inCookie $_COOKIE['check-hash-type'];

I teraz będę korzystać z $inCookie jak coś będę chciał z tego krakersa Wink
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [PHP] Informowanie o cookies - skrypt krysek76 0 2,177 29-04-2013, 15:08
Ostatni post: krysek76
  Usuwanie cookies Vern_Neas 2 4,714 04-08-2008, 18:53
Ostatni post: koorde

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl