Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 31 odgovor
  • 6.969 pregleda

Najnovija ↓

Submit button i cookie 26.08.2008. u 16:43 · pre 221 mesec #1
E ovako ,nisam profesionalac i verujem da je neka lame greska ...elem , pravim neku restriction stranicu ,za potvrdu godina..
kad user pocne ucitavat stranicu (index) ako php skonta da nema odredjen cookie on mu prikaze odgovarajuci templ (razdvojio sam templ i php code)

u templ ovako odprilike stoje stvar(ostalo nije vazno jer je obican text i css)

restriction.tpl glasi ovako
Code:

<div id="choices" class="align-center">
    <form action="restriction.php" method="POST">
        <input type="submit" name="user_choice1" value="Enter" />
        <input type="submit" name="user_choice2" value="Leave" />
    </form>
</div>


a restriction.php ovako
Code:

if(isset($_REQUEST['user_choice1'])) {    
        setcookie( 'age_check' ,'' ,'' ,'' ,'.mojsajt.com' ,'' );
        } 
if(isset($_REQUEST['user_choice2'])) {
        header('Location: http://www.wikipedia.com');
    }


Ovako mi treba kad user klikne ENTER dugme (userchoice1) da mu php dodeli cookie
a ako klikne LEAVE dugme (userchoice2) da mu ucita wikipediju (ili bilo koji drugi url na nekom drugom serveru)...verujem da je nesto prosto al ne mogu da primetim(skontam) jer mi vec puca glava od ovoga...

i jos jedna stvar dal je moguce kod "userchoice2" da ubacim nekih 10-15 url-ova i da on na svaki klik random izabere jedan?

Hvala unapred :)
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 26.08.2008. u 18:15 · pre 221 mesec #2
Po ovom kodu expire parametar je prazan string, a treba integer ?

setcookie( 'age_check' ,'' ,'' ,'' ,'.mojsajt.com' ,'' );


Umesto praznog stringa stavi 0 ako hoces da preskocis taj parametar u cooki.

Postavljas prazan cookie ili si mislio da ce se mojsajt.com upisati kao vrednost ?

Ovako bi trebalo da radi :

setcookie( 'age_check' ,'$vrednost' ,'0' ,'' ,'.mojsajt.com' ,'' );



Sto se drugog dela pitanja tice napravi jedan niz sa adresama na koje hoces redirekciju pa izgenerisi random broj manji od count($niz) i redirektuj na $niz[$random]

Mozda ima i boljih nacina, ovo mi je prvo palo na pamet :-)

Pre tog header() ne smes imati output da bi sve radilo kako treba, predpostavljam da ti je to jasno.


edit: samo da dodam nesto u vezi expire parametra. ako ga preskocis (odnosno postavis na 0) njegovo vreme trajanja je dok se ne zatvori prozor browsera. ako zelis da cookie 'zivi' i kada se user vrati kasnije postavi neko vreme u timestamp formatu.
Re: Submit button i cookie 26.08.2008. u 19:31 · pre 221 mesec #3
ok exp date sam preskeocio (hteo sam posle da dodam a posle sam zaboravio) al mene nesto "cupka" ,nece ne LEAVE (userchoice2) dugme da radi , ja kliknem a on refresuje stranicu ,da jedno od ta dva radi pa ajd nego na oba isto odradi ...refres stranice...a exp date sam hteo da stavim 72H (u timestap formatu)

za ovo drugo (Randome) dobro si me podsetio :)

samo mi ovo nije jasno
Citat:
Pre tog header() ne smes imati output da bi sve radilo kako treba, predpostavljam da ti je to jasno.
pre kog hedera?

u restriction.php pre ovog koda sto sam stavio imam jedan kode koji proverava dal je agecheck cookie postavljen (ako jeste exit() i da odma redirektuje na odredjeni url ) a ako nije onda da nastavi dalje sa ucitavanjem

nadam se da sam bio jasan ...hvala an odgovoru
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 26.08.2008. u 20:40 · pre 221 mesec #4
Jel si proverio da li imas cookie u browseru nakon odabira 'enter' ? Koliko sam te razumeo sve se to odvija na istoj strani i ako nemas cookie ostajes na njoj (video bi samo refres ako se cookie nebi kreirao).



Citat:

u restriction.php pre ovog koda sto sam stavio imam jedan kode koji proverava dal je agecheck cookie postavljen (ako jeste exit() i da odma redirektuje na odredjeni url ) a ako nije onda da nastavi dalje sa ucitavanjem

Kako to mislis exit() pa redirekcija ? Nece doci do redirekcije ako si prekinuo izvrsenje. Moguce je da se cookie formira, ali nema redirekcije zbog exit() .
Ako je cookie formiran, LEAVE button nece raditi jer prvo proveravas cookie i nece program stici do header('Location: ...

Kao sto vidis moze svasta da bude, ali ne znamo sta se sve desava u tom restriction.php i da li se cookie kreira.
Re: Submit button i cookie 26.08.2008. u 20:49 · pre 221 mesec #5
nema cookija u brosweru proveravao sam ,to me i zbunjuje,da makar leave dugme radi onda bi sumljao da nesto nisam dobro sa cookijem uradio a ovako mi nije nista jasno...
za exit()

da budem jasniji evo celog koda

Code:

if (!empty($_COOKIE['age_check'])) { 
   header("Location:http://www.mojsajt.com/index.php"); 
} else { 
   echo"Belaj"; 
} 

if(isset($_REQUEST['user_choice1'])) {    
        setcookie( 'age_check' ,'' ,'' ,'' ,'.mojsajt.com' ,'' );
        } 
if(isset($_REQUEST['user_choice2'])) {
        header('Location: http://www.wikipedia.com');
    }

znaci ako ima cookija onda ce odma da ga redirektuje na index stranicu ako nema cookija nastavlja da ucitava dalje (tj ucitava restriciton.tpl )
ispred ovog koda imam samo require odredjeni sistemski fajl i to je to ....
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 26.08.2008. u 23:32 · pre 221 mesec #6

Kao prvo, rekli smo da moras postaviti parametar za expire zato sto koristis param. domain i moras da ga preskocis, ali ne kao string "" vec integer :
setcookie( 'age_check' ,'',0 ,'' ,'.mojsajt.com' ,'' );

U prethodnom postu sam stavio nulu pod navodnike, ali kad malo bolje razmislim, ne trebaju ti navodnici posto treba integer, a ne string. Mozda je u tome problem (ako si uopste menjao to setovanje cookia).



Sledece :

Code:


if (!empty($_COOKIE['age_check'])) { 
   header("Location:http://www.mojsajt.com/index.php"); 
} else { 
   echo"Belaj"; 
} 

if(isset($_REQUEST['user_choice1'])) {    
        setcookie( 'age_check' ,'' ,'' ,'' ,'.mojsajt.com' ,'' );
        } 
if(isset($_REQUEST['user_choice2'])) {
        header('Location: http://www.wikipedia.com');
    }


Ako postavljas prazan cookie if (!empty($_COOKIE['age_check'])) { cookie ce uvek biti prazan i nema redirekcije bez obzira da li je cookie postavljen ili ne.




Sledece, setcookie() isto kao i header() ne sme imati output pre nego sto pozoves funkciju. U tvom primeru ce se ili izvrsiti redirekcija ili ces imati echo (output) tako da se donji deo koda ne moze izvrsiti. Dobio bi gresku header already sent... znaci verovatno ne dolazis do tog dela koda u kojem treba da se setuje cookie, a umesto onog echo"Belaj" ti stoji redirekcija na index koja se uvek izvrsi.

Re: Submit button i cookie 27.08.2008. u 10:13 · pre 221 mesec #7
grrr .nasao sam sta je bila greshka za leave dugem ,posto sam includovao config fajl iz neke scripte (za koju radim ovo ) i izbrisao na kraju smarty incclude templ ,proradio je leave ,al ne radi cookie ,ne setuje ga ...a stavio sa nulu ...

a posto header() i setcookie() ne smeju imat output ispred sebe kako bi mogao da proverim dal je cookie postavljen da uradi redirekciju i kako ako nije postavljen....sve ja to nekako moram zbudzit u jedan fajl...


EDIT: za ono belaj i redirekcija na index ,proverno radi tj ,kad nema cookie on ispise Belaj a kad ima cookia izvrsi redirekciju na index..
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 27.08.2008. u 10:47 · pre 221 mesec #8
Citat:
bugsu: nema cookija u brosweru proveravao sam ,to me i zbunjuje,da makar leave dugme radi onda bi sumljao da nesto nisam dobro sa cookijem uradio a ovako mi nije nista jasno...
za exit()

da budem jasniji evo celog koda

Code:

if (!empty($_COOKIE['age_check'])) { 
   header("Location:http://www.mojsajt.com/index.php"); 
} else { 
   echo"Belaj"; 
} 

if(isset($_REQUEST['user_choice1'])) {
setcookie( 'age_check' ,'' ,'' ,'' ,'.mojsajt.com' ,'' );
} 
if(isset($_REQUEST['user_choice2'])) {
header('Location: http://www.wikipedia.com');
}

znaci ako ima cookija onda ce odma da ga redirektuje na index stranicu ako nema cookija nastavlja da ucitava dalje (tj ucitava restriciton.tpl )
ispred ovog koda imam samo require odredjeni sistemski fajl i to je to ....


malo sam sanjit
pa ako odvalim glupost ne zameri

autput je " else {
echo"Belaj";
}
"

on shalje tebi nevidljivo zaglavlje i zato ti verovatno izbaci poruku tipa: header already sent.

izbaci taj red i umesto njega ubaci setcookie i ispitivanje $_REQUEST promenljivih


isto tako


"ispred ovog koda imam samo require odredjeni sistemski fajl i to je to"

ako taj file u sebi posle ?> iima space, makar 1 i na samo 1 mestu, to ne radi
ja, recimo, kad sam radio neshto za 1 seminarski, ovo nisam znao
pa sam se ubio od improvizovanja... :(

uostalom... kukiz ti treba za membership baze, ovde koristi sesiju. pravilnije i lakshe.
Potpis
jedan smeshni nekomercijalni video: http://www.develop-one.net/blog/2008/08/27/HugADeveloper.aspx
Re: Submit button i cookie 27.08.2008. u 13:41 · pre 221 mesec #9
Citat:
bugsu: grrr .nasao sam sta je bila greshka za leave dugem ,posto sam includovao config fajl iz neke scripte (za koju radim ovo ) i izbrisao na kraju smarty incclude templ ,proradio je leave ,al ne radi cookie ,ne setuje ga ...a stavio sa nulu ...

a posto header() i setcookie() ne smeju imat output ispred sebe kako bi mogao da proverim dal je cookie postavljen da uradi redirekciju i kako ako nije postavljen....sve ja to nekako moram zbudzit u jedan fajl...


Citat:
bugsu:kad user pocne ucitavat stranicu (index) ako php skonta da nema odredjen cookie on mu prikaze odgovarajuci templ



Na pocetku index strane proveri cookie:
Code:

if (isset($_COOKIE['age_check'])) { 
   header("Location:http://ako_ima_cookie"); 
}  


Ako nema cookie prikazaces onaj tpl sa formom. Nakon submita forme u restriction.php ne proveravas cookie vec radis sta treba u zavisnosti koje dugme je pritisnuto.

Citat:
stough_ser: uostalom... kukiz ti treba za membership baze, ovde koristi sesiju. pravilnije i lakshe.

Ovo si lupio, ali ajde, sanjiv si pa ti je oprosteno.. :-)
Re: Submit button i cookie 27.08.2008. u 13:45 · pre 221 mesec #10
ne mogu Session jer mi treba exp. date( i to ~72h)
za ovo na kraju prazno mesto pa "?>" cu da vidim ...nisam siguran

a greska je bila u cookie-u (kako niko to nije video)

treba da ide

nesto tipa
setcookie('age_check, '1', time() + (3600*24*7), '/', '.'.$_SERVER['HTTP_HOST']);

sad radi i cookie i leave dugme..bez problema i errora
jos mi ostalo da uradim heder() rand i da sve to integrisem u jedan fajl :)
hvala na pomoci :)
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 27.08.2008. u 14:23 · pre 221 mesec #11

Dodao si path i secure.... mislim da nije to razlog zbog kojeg je proradilo. Sve su to neobavezni param., mozda si imao pogresan domain pa zato nije radilo...

Jel ti to radis u lokalu ili na serveru? Moze da se desi da radi na localhost (u windowsu), ali na serveru koji nije win. bi imao gresku jer na pocetku restriction.php imas ili redirekciju ili echo tako da ako bi se i stiglo do setcookie() on se nebi formirao zbog poslatog headera..
Re: Submit button i cookie 27.08.2008. u 14:28 · pre 221 mesec #12
moze biti da je domain nesto zezalo (ne iskljucujem to )
radim/proveravam na serveru Linux...za takve stvari batalio sam win i sl ...sve na server pa "na sunce"
malo me bunilo sto nisam nigde error nikakav dobijao i sl ,redovno sve ucita sve ok al nije hteo da radi ...bem ga :)
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 28.08.2008. u 22:44 · pre 221 mesec #13
uff place mi se .. ovih dana mi nista ne ide od ruke...za ono LEAVE randome ,jer moz neko da da primer
ja sam pokusao
$url = array(adresa1 => 1 , adresa2 =>2...etc)
$url = mt_rand(1, 10)

i nece nikako :/

neku bolju ideju ?
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 28.08.2008. u 22:57 · pre 221 mesec #14
Kakav ti je to niz? Adrese treba da budu values a ne keys u nizu. Formiraj lepo niz (ne asocijativni), u drugu promenljivu pseudo-random broj, i onda samo izvučeš adresu iz niza koja se nalazi na tom broju koji si dobio od rand() funkcije.
Mislim, mogu da ti napišem i kod, ali tako nećeš ništa naučiti :D
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: Submit button i cookie 28.08.2008. u 23:39 · pre 221 mesec #15
niz mi je lep onako malo crvene boje malo plave :D salim se :)

ako sam te dobro razume (boze molim te da sam ga dobro razumeo :P )

$url['1'] = 'adresa1';
$url['2'] = 'adresa2';
$url['x'] = 'adresax';

sad mi samo za random nije jasno jer se nisam susrecao s tim...
rand( $url['1'], $url['2'], $url['x'] );

tako nekako? O.o

i jos u vezi prvih postova u ovoj temi
kad kliknem na ENTER dugme stavi mi cookie al me ne prebaci na odredjen url ..tek nakon refresa to uradi...any idea?


a za kode ,stoji ,neko samo prekopira i tera dalje al ja nisam takav ,ja sam ti "what this button do?" :)
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 29.08.2008. u 00:12 · pre 221 mesec #16
Niz ti je dobar... odnosno dobro je ako ne koristiš apostrofe kod ključeva.

A posle toga samo izabereš random broj između 1 i broj_elemenata_niza, i onda redirektuješ na $url[random_broj] ;)
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: Submit button i cookie 29.08.2008. u 00:21 · pre 221 mesec #17
dobro cu da pokusam to ...a ovaj u
heder()-u ide

heder ( $url ) ; tako ? ili je malo specilizovanije? :)
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Re: Submit button i cookie 29.08.2008. u 14:06 · pre 221 mesec #19
izvin te ljudi al mene stvarno buni header() :) (sad cu dobit po usima)
$url[x] = '...';
$url[10] = 'http://www.ask.com';
$site = $url[rand(1, 10)];

i onda sam header($site); ovako ,al to ne ide....
citam ove nemanjine postove vec po dvadeseti put i ne ide mi u glavu nista drugo... :/
Potpis
Say NO to pop culture!!!
Crno je uvek u modi....
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme