Ver Mensaje Individual
  #11 (permalink)  
Antiguo 05/12/2011, 17:06
Avatar de SirDuque
SirDuque
 
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 3 meses
Puntos: 89
Respuesta: problema con session_handler

Cita:
Iniciado por campussummertime Ver Mensaje
Os explico lo que he solucionado, no hagais caso al post anterior

ahora lo tengo asi el codigo, tengo el siguiente codigo php

Sigo pensando que hay variables que repito y por eso puede ser que no me funcione,ya que ahun me estoy iniciando en esto y voy copiando los codigos a mano y los intento adaptar.

Alguna idea? Es que tengo un campo time que se llama ultima actividad y no deberia ponerse en marcha cuando inicia sesion?Ayuda ahora el codigo lo tengo adaptado de la siguiente manera,dejo el php entero para poder ayudar, creo que tengo puesto demasiados headers por eso.

<?php
$email1=$_POST["email1"];
$password1=$_POST["password1"];
if ($email1&&$password1);
{
include("./db.inc.php");
$query = mysql_query("SELECT * FROM web WHERE email1='$email1'");
$numrows = mysql_num_rows($query);
{
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['email1'];
$dbpassword = $row['password1'];
$dbalias = $row['alias'];
$dbname = $row['name'];
$dbsurname = $row['surname'];
//
}
if ($email1==$dbusername&&$password1==$dbpassword)
{
;
echo "Has accedido ";
session_start();
$_SESSION['ultima_actividad'] = microtime(true);
//sesiones
session_start();
if(!isset($_SESSION['ultima_actividad'])) //¿ NO esta seteado ultima_actividad?
{
header ('Location: iniciarsesion.php'); // NO esta seteado, entonces no logeo, ir al login.
exit;
}elseif( ( (microtime(true) - $_SESSION['ultima_actividad'] ) >= 70 ) )//¿Mayor o Igual a 70"(segundos).?
{
header('Location: tiempo_excedido.php');// Es mayor o igual.
exit;
}
else
echo "Contraseña errónea";
}
}}
?>
campussummertime no te entiendo ni J.

Código PHP:
session_start();
if(!isset(
$_SESSION['ultima_actividad'])) //¿ NO esta seteado ultima_actividad?
{
 
header ('Location: iniciarsesion.php'); // NO esta seteado, entonces no logeo, ir al login.
exit;
}elseif( ( (
microtime(true) - $_SESSION['ultima_actividad']  )  >= 70 ) )//¿Mayor o Igual a 70"(segundos).?
{
 
header('Location: tiempo_excedido.php');// Es mayor o igual.
exit;

Esto es una cabezera, la cual va en todas las hojas, menos el Login y el inicio.

Te recomiendo para que entiendas un poco:

primero crea un un FORM en HTML
usuario y contraseña.

Despues el PHP con el logeo, que seria este codigo:

Código PHP:
$email1=$_POST["email1"];
$password1=$_POST["password1"];
if (
$email1&&$password1);
{
include(
"./db.inc.php");
$query mysql_query("SELECT * FROM web WHERE email1='$email1'");
$numrows mysql_num_rows($query);
{
while (
$row mysql_fetch_assoc($query))
{
    
$dbusername $row['email1'];
    
$dbpassword $row['password1'];
    
$dbalias $row['alias'];
    
$dbname $row['name'];
    
$dbsurname $row['surname'];
}
if (
$email1==$dbusername&&$password1==$dbpassword)
{
    echo 
"Has accedido ";
    
session_start();
    
$_SESSION['ultima_actividad'] = microtime(true);
    
//sesiones
    
header ('Location: inicio.php');
    exit;
}else{
    echo 
"Contraseña errónea";
    
header ('Location: login.html');
    exit;

}
}

y por ultimo, el envio a otra pagina con la cabezara que calcula el tiempo de session.

Por favor, fijate lo que hacen los codigos antes de seguir, por que no estas entendiendo nada.
__________________
Mono programando!
twitter.com/eguimariano