boya
18.05.2004, 11:21:13
Witam
Zbudowalem sobie sonde ktore wyglada mniej wiecej tak
sonda.php
[php:1:f3d2887fe8]<?php
if($_COOKIE['sonda']!="1") {
include ("nieglosowano.php");
}else{
include ("glosowano.php");}
?>[/php:1:f3d2887fe8]
jezeli cookies jest to wywala mnie na glosowano.php i tutaj wszytko jest ok. Problem pojawia sie gdy przechodze na nieglosowano.php wtedy tam musze dodac ciacho...i je dodaje...
[php:1:f3d2887fe8]<?php
setcookie("sonda", "1", time()+3600*168);
?>[/php:1:f3d2887fe8]
problem w tym ze ono sie nie dodaje ;/ bo jest w includzie strony sonda.php wiec gdzies w srodku strony
jak mam to rozwazac aby cookisy sie dodawaly ? a moze cos zle robie ?
kszychu
18.05.2004, 11:26:45
1. Poszukaj informaccji o ob_flush() i jej podobnych.
2. nie inkluduj a przekieruj na inną stronę: header("Location: .......")
boya
18.05.2004, 13:22:59
musi byc na include
a tamtych poszukam ;]
boya
18.05.2004, 15:18:20
dobra moze zrobie to tak ze dodam sesje na jakis określony czas...pytanie jak ?
a czy istnieje to sobie sprawdze
takze pytanie jak czasnac sesje na okreslony czas ?
Zajec
18.05.2004, 20:32:00
Na początku pliku, przed samym kodem (X)HTML:
[php:1:038494b0ce]<?php
if($_COOKIE['sonda']!="1") //plus jak się domyślam jakiś dodatkowy warunek, który jest sprawdzany w nieglosowano.php
setcookie("sonda", "1", time()+3600*168);
?>[/php:1:038494b0ce]
A potem sprawdzasz ciasteczko jeszcze raz, i includujesz co trzeba, ale już bez zabawy w dodawanie ciastka.
boya
18.05.2004, 21:58:57
tak tylko ze nieglosowano jest includowany w
sonda.php a sonda php w index.php a wiec to nie bedzie początek kodu ;/
Zajec
19.05.2004, 15:05:45
Czyli rozumiem, że do index.php nie masz dostępu??
W takim razie pozostaje Ci chyba tylko otworzenie nowego okienka, ze stroną która zapisze ciacho, lub zapisanie ciacha przez JS.
boya
19.05.2004, 15:41:11
ok
to jak zaknac samoczynnie nowo otwarte okno ? bez naszej ingerrencji
Majdan
19.05.2004, 18:35:41
Zamknąć okienko także możesz przez JS. Poszukaj dokładniejszej odpowiedzi.
Zajec
19.05.2004, 19:14:47
Pamiętaj tylko o blokowaniu pop-up'ów. Mi się nie otworzy żadne okienko, jeśli sam nie klikne na link. I w tym przypadku właśnie dodanie ciastka przez JS byłoby chyba lepszym rozwiązaniem.
rozny
19.05.2004, 20:08:43
na poczatku pliku index.php dajesz:
[php:1:6c09752347]<?php
ob_start();
?>[/php:1:6c09752347]
a na koncu:
[php:1:6c09752347]<?php
ob_end_flush();
?>[/php:1:6c09752347]
i od tej chwili mozesz wysylac ciacha i naglowki kiedy tylko ci sie podoba. wplynie to troche na czas ladowania strony, ale mysle ze nieznacznie.
przed
[manual:6c09752347]ob_start();[/manual:6c09752347] nie moze sie nic pojawic!
DeyV
20.05.2004, 09:07:52
Cytat
takze pytanie jak czasnac sesje na okreslony czas ?
wydaje mi się, że to akurat jest proste
[php:1:1cb569fb28]<?php
session_Start();
$_SESSION['arrDane'] = array(
'mixZmienna' => 'xxxx',
'mixZmienna2' => 'yyyy',
'intTime' => time()
);
$intCzasTrwania = 3600 ; //godzina
if( $_SESSION['arrDane']['intTime'] > (time() - $intCzasTrwania ) )
{
echo $_SESSION['arrDane']['mixZmienna'];
echo $_SESSION['arrDane']['mixZmienna2'];
}
else
{
$_SESSION['arrDane'] = array();
echo 'sessja zniszczna';
}
?>[/php:1:1cb569fb28]
boya
20.05.2004, 09:34:55
szkoda ze malo opisu dales
[php:1:b1ac562a69]<?php
session_Start();
$_SESSION['sonda'] = array(
'intTime' => time()
);
$intCzasTrwania = 3600 ;
if( $_SESSION['sonda']['intTime'] > (time() - $intCzasTrwania ) )
{
}
else
{
$_SESSION['arrDane'] = array();
}
?>[/php:1:b1ac562a69]
zastanawiam sie czy tak moze byc ?
boya
20.05.2004, 12:58:58
Zrobilem tak:
[php:1:649b2d4cf8]<?php
index.php //plik index.php
ob_start();
//inne cookie + kod strony
include("sonda.php"); //plik sonda.php
//kod sonda.php
include("nieglosowano.php"); //plik nieglosowano.php
//kod nieglosowano.php
setcookie("sonda", "1", time()+3600*24*7);
//kod nieglosowano.php
//konic nieglosowano.php
//koniec sonda.php
ob_end_flush();
//koniec pliku index.php
?>[/php:1:649b2d4cf8]
Widac jak bardzo jest zagniezdzony cookie ktore musi wyladowac na poczatku strony...i nie ląduje ;/ moze cos zle napisalem ?
kszychu
20.05.2004, 13:08:46
boya: bardzo proszę o edycję swoich postów i nie pisanie jednego pod drugim.
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.