Elem, zadatak je bio da se jedna kategorija i proizvodi u okviru te kategorije zastite passwordom.
Olaksice: id kategorije, posto je samo jedna, moze biti hardkodiran ™, password je takodje samo jedan ('test' u ovom slucaju).
E, sad, problemi su se javili na najbanalnijem (?) delu - setovanju kukija. Iz nekog razloga, u Firefoxu stvar fercera kako bi trebalo, ali ni u IE-u, niti u Chrome-u - NE.
Da pojasnim - klik na TEST kategoriju, ili neki od test proizvoda, prikazuje formu za unos sifre, unosi se sifra, posle toga radi se redirekcija i sve je ok, ALI, u browserima osim Firefoxa, klik na logo, na primer, pa onda ponovni klik na ''TEST'' kategoriju, ili neki proizvod iz nje, vodi ponovo na formu, mada bi kuki trebalo da je ziv... (stavio sam test vreme od 2 minuta)
Ovo su izmene u category.php fajlu:
Code:
if(isset($this->request->post['check'])) {
if($this->request->post['check']==$pass)
{
//$_SESSION['protect']=1;
setcookie("unlock", "666", time()+60*2);
echo '<meta http-equiv="refresh" content="1;url='.$domain.$seo_keyword.'">';
}
}
if ($category_id==$protected_id&&!isset($_COOKIE['unlock'])) {
die( "<div style='font-size:12px;border:2px solid #666;font-family:Verdana;margin-left:auto;margin-right:auto;width:190px;padding:10px;'>
<p align='center'>You need password to view this category!</p>
<p align='center'><form action='' method='post'>
<input name='check' type='password' />
<input name='submit' type='submit' value='submit' />
</form></p></div>
");
}
else {
$this->load->model('catalog/product');
}
if(isset($this->request->post['check'])) {
if($this->request->post['check']==$pass)
{
//$_SESSION['protect']=1;
setcookie("unlock", "666", time()+60*2);
echo '<meta http-equiv="refresh" content="1;url='.$domain.$seo_keyword.'">';
}
}
if ($category_id==$protected_id&&!isset($_COOKIE['unlock'])) {
die( "<div style='font-size:12px;border:2px solid #666;font-family:Verdana;margin-left:auto;margin-right:auto;width:190px;padding:10px;'>
<p align='center'>You need password to view this category!</p>
<p align='center'><form action='' method='post'>
<input name='check' type='password' />
<input name='submit' type='submit' value='submit' />
</form></p></div>
");
}
else {
$this->load->model('catalog/product');
}
U product.php fajlu (oba su u subfolderu product, u folderu controller) sam samo ubacio proveru da li je kuki setovan i jedan dodatni query koji proverava da li proizvod pripada zasticenoj kategoriji...
Slutim da je problem u bar dve stvari - dostupnosti kukija i seo adresama koje se koriste (bez njih je stvar, koliko se secam, funkcionisala)
Code:
$seo_keyword='test';
$domain="http://byby.xtreemhost.com/cart/";
$seo_keyword='test';
$domain="http://byby.xtreemhost.com/cart/";
Ako imate kakvu ideju, kako da nateram skriptic da proradi u svim browserima, bio bih zahvalan!