Buongiorno tutti, non sono un grande esperto del PHP e forse ciò che sto per chiedere per alcuni sara una stupidaggine ma per me un problema che fino ad ora mi ha fatto perdere già molte ore...
Ho un sito sul quale devo inserire una pagina d'ingresso la quale avverte che il sito può contenere materiale per soli adulti.
La pagina d'ingresso è gestita in php e il tutto è diviso in quattro parti di codice, 3 in parti PHP e una pagina in html che gestisce solo l'aspetto grafico.
Nella pagina index.php che si trova nella root del sito ho questo codice:
sempre nella root ho la pagina disclaimer.php
e poi in un file php che si trova all'interno di una cartella dove vengono gestite varie funzioni del sito ho questa parte di codice:
Il tutto sembra essere abbastanza semplice, ma il problema è che funziona solo con Firefox! Mentre con gli altri browswer, Chrome, Explorer e Safari quando sulla pagina d'ingresso clicco per accedere al sito per un attimo vengo rimandato alla pagina http://miosito.com/index.html?accept=1 e immediatamente dopo di nuovo alla pagina http://miosito.com/disclaimer.php come se i cookie sarebbero impostati a 0 secondi ma in realtà sono impostati a 7200! Praticamente mi è impossibile accedere al sito.
Il sito è su un server dedicato linux e per far girare il cms che gestisce il sito uso i moduli apache e non fastcgi, ho fatto diversi tentativi per risolvere il problema, come ad esempio disattivare i friendly url, escludere l' htaccess ma niente il risultato è sempre lo stesso posso accedere al sito solo con firefox!
Se qualcuno è in grado di darmi qualche suggerimento glie ne sarò molto grato.
Ho un sito sul quale devo inserire una pagina d'ingresso la quale avverte che il sito può contenere materiale per soli adulti.
La pagina d'ingresso è gestita in php e il tutto è diviso in quattro parti di codice, 3 in parti PHP e una pagina in html che gestisce solo l'aspetto grafico.
Nella pagina index.php che si trova nella root del sito ho questo codice:
PHP:
// disclaimer change
if(isset($_GET['accept']) && $_GET['accept']==1) {
global $main_domain;
$a = setcookie("accept", 1, time()+7200, '/', ".".$main_domain);
global $config_live_site;
header("Location: $config_live_site");
exit(0);
}
sempre nella root ho la pagina disclaimer.php
PHP:
<?php
require_once "include/include.php";
global $db;
global $lng;
$smarty = new Smarty;
$smarty = common($smarty);
$smarty->assign("lng",$lng);
$db->close();
if($db->error!='') { $db_error = $db->getError(); $smarty->assign('db_error',$db_error); }
$smarty->display('disclaimer.html');
close();
?>
e poi in un file php che si trova all'interno di una cartella dove vengono gestite varie funzioni del sito ho questa parte di codice:
PHP:
// disclaimer change
$r_explorer=$_SERVER['HTTP_USER_AGENT'];
if ( (substr_count($r_explorer,'bot')==0) && (substr_count($r_explorer,'yahoo')==0) && $self_noext!="disclaimer" && !isset($_GET['accept']) && $_COOKIE['accept']!=1) {
header("Location: ".$config_live_site."/disclaimer.php");
exit(0);
}
Il tutto sembra essere abbastanza semplice, ma il problema è che funziona solo con Firefox! Mentre con gli altri browswer, Chrome, Explorer e Safari quando sulla pagina d'ingresso clicco per accedere al sito per un attimo vengo rimandato alla pagina http://miosito.com/index.html?accept=1 e immediatamente dopo di nuovo alla pagina http://miosito.com/disclaimer.php come se i cookie sarebbero impostati a 0 secondi ma in realtà sono impostati a 7200! Praticamente mi è impossibile accedere al sito.
Il sito è su un server dedicato linux e per far girare il cms che gestisce il sito uso i moduli apache e non fastcgi, ho fatto diversi tentativi per risolvere il problema, come ad esempio disattivare i friendly url, escludere l' htaccess ma niente il risultato è sempre lo stesso posso accedere al sito solo con firefox!
Se qualcuno è in grado di darmi qualche suggerimento glie ne sarò molto grato.
Ultima modifica di un moderatore: