Cookiai

Skelbti atsakymą
Žinutė
Autorius
Vartotojo avataras
ZoltaN
jaunasis rašytojas
jaunasis rašytojas
Pranešimai: 83
Užsiregistravo: 2005 06 18 10:20

Cookiai

#1 Standartinė ZoltaN » 2006 07 26 18:23

Sveiki, a? tyrinėjau cookius per php. Ir priėjau liepto galą. Gal ra?au ne į tą temą , bet kitur niekas neatsakytų ;] . Tai vat cookį galima pa˛iūrėti taip:

Kodas: Pasirinkti visus

$kukis = $_COOKIE['cookiovardas'];
echo $kukis;
O priloginti taip:

Kodas: Pasirinkti visus

<?php
$kukis = $_COOKIE['cookiovardas'];
$fh = fopen('log.txt', 'a');
fwrite($fh, $kukis);
fclose($fh);
?>
Bet taip galima loginti tik vieną kukį.. Tačiau yra dar viena komanda, kaip galima pa˛iūrėt visus kukius :

Kodas: Pasirinkti visus

print_r ($_COOKIE);
Tai vat tiek ˛inau. Kadangi galima per˛iūrėti visus cookius, tai manau kad galima ir priloginti visus cookius(bent logi?kai). Ir čia man i?kilo problema. Nemoku para?yti tokio kodo kuris prilogintų visus cookius su komanda print_r ($_COOKIE). Gali būti, kad a? nelabai sintaksės dar moku, neseniai pradėjau php mokintis. Būkit geri padėkit, nes nerandu niekur info. Ps. googlinau ;]

Vartotojo avataras
Laurynas
administratorius
administratorius
Pranešimai: 2011
Užsiregistravo: 2001 12 06 09:51
Miestas: Vilnius

#2 Standartinė Laurynas » 2006 07 26 19:10

Nurodyk cookies galiojimo laika ir kokiame folderyje ar urle veiks.

Example 1. setcookie() send example

Kodas: Pasirinkti visus

<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>

Kodas: Pasirinkti visus

<?php
// Print an individual cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);
?>
Example 2. setcookie() delete example

Kodas: Pasirinkti visus

<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>

Example 3. setcookie() and arrays

Kodas: Pasirinkti visus

<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        echo "$name : $value <br />\n";
    }
}
?>

which prints

three : cookiethree
two : cookietwo
one : cookieone

Vartotojo avataras
ZoltaN
jaunasis rašytojas
jaunasis rašytojas
Pranešimai: 83
Užsiregistravo: 2005 06 18 10:20

#3 Standartinė ZoltaN » 2006 07 26 20:08

Ačiū,

Kodas: Pasirinkti visus

<?php 
// Print an individual cookie 
echo $_COOKIE["TestCookie"]; 
echo $HTTP_COOKIE_VARS["TestCookie"]; 

// Another way to debug/test is to view all cookies 
print_r($_COOKIE); 
?>
Pirmas būdas man aiškus. O antras būdas , kuris parodo visus cookius man ir reikalingas. bet aš nesugebu pritaikyti, kad tuos visus cookius parodytus su komanda print_r($_COOKIE); loggintų į naują failą pvz: log.txt . Man reikia scripto darančio tai:

Kodas: Pasirinkti visus

<?php 
$kukis = $_COOKIE['cookiovardas']; 
$fh = fopen('log.txt', 'a'); 
fwrite($fh, $kukis); 
fclose($fh); 
?>
Tik panaudojant antrą būdą print_r($_COOKIE). Man niekaip nesigauna sukomponuot scripto. Kai padarai taip:

Kodas: Pasirinkti visus

<?php 
SetCookie("cookies_vardas", "cookies_reiksme", $time);
SetCookie("kitas_vardas", "kita_reiksme", $time);
$fh = fopen('log.txt', 'a'); 
fwrite($fh, print_r($_COOKIE)); // atkreipti dėmesį čia
fclose($fh); 
?>
Neprilogina cookių į failą log.txt, o log.txt, faile atsiranda uzrasas "array". O su pirmu būdu viskas veikia. Galit padėt? Jei ką nors supratot iš mano painiavos...

Vartotojo avataras
Laurynas
administratorius
administratorius
Pranešimai: 2011
Užsiregistravo: 2001 12 06 09:51
Miestas: Vilnius

#4 Standartinė Laurynas » 2006 07 27 03:39

Jei veikia tokie:

fwrite($fh,"\n\$_GET::\n".print_r($_GET,true)."\n");
fwrite($fh,"\n\$_POST::\n".print_r($_POST,true)."\n");
fwrite($fh,"\n\$_SESSIONS::\n".print_r($_SESSION,true)."\n");

turetu veikti ir toks:

fwrite($fh,"\n\$_COOKIE::\n".print_r($_COOKIE,true)."\n");

Vartotojo avataras
ZoltaN
jaunasis rašytojas
jaunasis rašytojas
Pranešimai: 83
Užsiregistravo: 2005 06 18 10:20

#5 Standartinė ZoltaN » 2006 07 27 10:30

labai ačiū, viskas gavosi. A? ra?ydavau print_r($_COOKIE) be true ir todėl nesigaudavo..

Vartotojo avataras
Laurynas
administratorius
administratorius
Pranešimai: 2011
Užsiregistravo: 2001 12 06 09:51
Miestas: Vilnius

#6 Standartinė Laurynas » 2006 07 27 14:36

ZoltaN rašė:A? ra?ydavau
Jei raso kvadratais, pas tave arba su fontais kazkas netvarkoj, arba regional setinguose.

Paziurek ar tikrai:

Start>Settings>Control Panel>Regional and Language Options>Regional options>Lithuanian

Start>Settings>Control Panel>Regional and Language Options>Advanced>Language for non-Unicode programs>Lithuanian

Vartotojo avataras
ZoltaN
jaunasis rašytojas
jaunasis rašytojas
Pranešimai: 83
Užsiregistravo: 2005 06 18 10:20

#7 Standartinė ZoltaN » 2006 07 27 16:52

Na nustatyta regional settings gerai.. ir raso seip visas raides lietuviskas gerai: ąčęėįūų˛ bet neraso s(su pauksciuku) matyt kazkas su fontais

Skelbti atsakymą

Grįžti į

Dabar prisijungę

Vartotojai naršantys šį forumą: 1 ir 0 svečias(ių)