El problema es que tengo una sesión en PHP y esta caducando muy rápido en tan solo 20 minutos y me regresa a la página de logeo a continuación pongo el script que hace la validación y creación de la sesión así como el script que valida en cada página.

// este es el script con el que se valida el ususario.

<?php
session_start();

if (isset($_POST["login"]))
{
if ($_POST["login"]=="si")
{
$usuari=$_POST["user"];
$cuenta=$_POST["pass"];
if (($usuari=="") || ($cuenta==""))
{
$_SESSION["error_login"]="¡Datos en Blanco!";
$url_relativa = "index.php";
header ("Location: http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"]). "/" .$url_relativa);
}
else
{
$sql = mysql_query("SELECT usuario,pass FROM usuarios WHERE usuario=$usuari");
$row = mysql_fetch_array($sql);
if($row>0)
{
if($row[1] == $cuenta)
{
$sdate1 = date("d")."/".date("m")."/".date("y");
$stime1 = date("h").":".date("i");
$fein = $sdate1." ".$stime1;

$_SESSION["fechaini"] = $fein;
$_SESSION["nombreusuario"] = $usuari;
$_SESSION["id_usuario"] = $row[0];

$sql2 = mysql_query("SELECT nombre,nivel,usuario,pass FROM usuarios WHERE usuario=$usuari and pass=$cuenta");
$row2 = mysql_fetch_array($sql2);

$_SESSION["nombreu"] = $row2[0];
$_SESSION["accesou"] = $row2[1];

$url_relativa = "aplicacion.php";
header("Location: http://" . $_SERVER["HTTP_HOST"] . dirname($_SERVER["PHP_SELF"]) . "/" .$url_relativa);
}else
{
$_SESSION["error_login"]="¡Contraseña Incorrecta!";
$url_relativa="index.php";
header("Location: http://" . $_SERVER["HTTP_HOST"] . dirname($_SERVER["PHP_SELF"]) . "/" .$url_relativa);
}
}
else
{
$_SESSION["error_login"]="¡Nombre de Usuario Incorrecto!";
$url_relativa="index.php";
header("Location: http://" . $_SERVER["HTTP_HOST"] . dirname($_SERVER["PHP_SELF"]) . "/" . $url_relativa);
}
mysql_free_result($sql);
}
mysql_close();
}
else
{
$_SESSION = array();
setcookie(session_name(),"",time()-56000);
session_destroy();
}
}
else
{
$_SESSION = array();
setcookie(session_name(),"",time()-56000);
session_destroy();
}

?>

// Este es el script que hace la validación para determinar si un usuario tiene o no privilegios para ver la pagina.

<?php
session_start();

function verifica_sesion(){
if($_SESSION["nombreusuario"]=="" or $_SESSION["accesou"]!="nivela"){
header("Location: index.php");
exit();
}
}
?>

//Aquí como hago la incrustación en cada página para el llamado ala función y validar.

<?php require ("script.php"); ?>
<?php verifica_sesion(); ?>

//Aquí algunos datos en el phpinfo que según he leído ayudarían pero no he tenido éxito.

Directive Local Value Master Value

session.cache_expire 180 180

session.cache_limiter nocache nocache

session.cookie_lifetime 0 0

session.gc_maxlifetime 12000 12000

//Bueno esta es la información que tengo espero me puedan ayudar con este problema ya que haciendo todo esto y las modificaciones al phpinfo solo he logrado que mi sesión tengo un tiempo de vida estimado de 20 minutos y necesito que sea al menos de 2 horas por el tipo de formulario que se tiene que llenar si se necesita de mayor explicación o alguna otra información estaré a sus ordenes por su atención gracias.
Pertenece a la categoría:

No hay respuestas para esta pregunta