Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/06/2011, 13:46
chass
 
Fecha de Ingreso: junio-2010
Mensajes: 9
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Respuesta: Configurar manejo de sesiones

Cita:
Iniciado por abimaelrc Ver Mensaje
Hola ya he probado tu propuesta y solo gane 5 minutos mas de duración de la sesión. Pongo mi código para ver si aquí tengo algún fallo.

<?php

session_set_cookie_params(0);
session_start();

//esta funsion coecta a la base de datos
function Conectarse()
{
if (!($conexion = mysql_connect("localhost","blade","hell2000")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("vlad",$conexion))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $conexion;
}
Conectarse();
if (isset($_SESSION["nombreusuario"]))
{
if ($_SESSION["nombreusuario"]!= "")
{
header("Location:sesionini.php");
exit();
}
}
if (isset($_SESSION["error_login"]))
{
if ($_SESSION["error_login"]=="")
{
$_SESSION["error_login"] = "Acceso";
}
}
else
{
$_SESSION["error_login"] = "Acceso";
}
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();
}
?>

Y aparte este script para verificar el tipo de usuario que ingresa al sistema la cual incluyo en cada pagina del sitio (altas modificaciones y consultas)

<?php
session_set_cookie_params(0);
session_start();

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