Foros del Web » Programando para Internet » PHP »

actualizar campo de bd al cerrar sesion

Estas en el tema de actualizar campo de bd al cerrar sesion en el foro de PHP en Foros del Web. hola,estoy tratando de que cuando el usuario cierre la sesion se actualice el campo de la base de datos referente a la sesion del usuario ...
  #1 (permalink)  
Antiguo 09/04/2010, 14:02
 
Fecha de Ingreso: marzo-2010
Mensajes: 79
Antigüedad: 14 años, 8 meses
Puntos: 0
actualizar campo de bd al cerrar sesion

hola,estoy tratando de que cuando el usuario cierre la sesion se actualice el campo de la base de datos referente a la sesion del usuario

algo así pero no me sale

<?php
session_start();
?>
<?php
include 'conectar.php';
$sql="SELECT numerodesesion FROM historial WHERE usuario='$_POST[usuario]' AND numerodesesion='$_POST[numerodesesion]";
$result=mysql_db_query("basedatos",$sql);
$campo=mysql_fetch_array($result);
$date = date("Y-m-d H:i:s");
$sql2="UPDATE historial SET fechacierresesion='$date' WHERE numerosesion='$_POST[numerodesesion]'";
?>
<?php
session_start();
session_destroy();
?>
<html>
<head>
<title>Logout</title>
</head>
<body background="images/background.gif">
</body>
<SCRIPT LANGUAGE="javascript">
alert("Usted ha cerrado la sesión, esperamos volver a verle de de nuevo.");
location.href = "index.php";
</SCRIPT>
</html>

me podeis ayudar??
a me dice que hay un argumento no valido en la linea 8, no se cual es
  #2 (permalink)  
Antiguo 09/04/2010, 14:19
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: actualizar campo de bd al cerrar sesion

Saludos


Código PHP:
//Este query para que es si no lo utilizas en ningun lado???
$numerosesion=$_POST[numerodesesion];
$usuario=$_POST[usuario];
$sql="SELECT numerodesesion FROM historial 
WHERE usuario='$$usuario' 
AND numerodesesion='$numerosesion"
;
$result=mysql_query($sql,$link);
$campo=mysql_fetch_array($result);
$date date("Y-m-d H:i:s");
$sql2="UPDATE historial SET fechacierresesion='$date' WHERE numerosesion='$numerosesion'";
$result2=mysql_query($sql2,$link);
//Bueno primero que todo te recomiendo no utilizar la funcion mysql_db_query ya que esta obseleta desde la version 5.3 de php puede utilizar mysql_query
// y para que inicializas la sesion 2 veces??? 
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 09/04/2010, 14:29
 
Fecha de Ingreso: marzo-2010
Mensajes: 79
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: actualizar campo de bd al cerrar sesion

pues la verdad es que me estoy haciendo un lio, lo de la sesion del principio es para retomarla antes de salir y asi poder recuperar los datos de dicha sesion para utilizarlos, creo que te refieres a eso, de todas formas sigo dandole vueltas, crees que podria ser asi?:

<?php
session_start();
?>
<?php
if(!isset($_SESSION[usuario]))
{
include 'conectar.php';
$sql="SELECT * FROM historial WHERE numerodesesion='$_POST[numerodesesion]' AND usuariodesesion='$_POST[usuario]'";
$result=mysql_db_query("discosrko",$sql);
$campo=mysql_fetch_array($result);
if(($_POST["usuario"]==$campo[usuariodesesion])&&($_POST["numerodesesion"]==$campo[numerodesesion]))
{
$_SESSION[usuario]=$_POST["usuariodesesion"];
$_SESSION[numerodesesion]=$_POST["numerodesesion"];
$date = date("Y-m-d H:i:s");
$Actualhistorial="UPDATE historial SET (fechacierresesion) VALUES ('$date')";
mysql_db_query("basededatos",$Actualhistorial);
}else
{
echo "nadadenada";
}
}
?>
<?php
session_destroy();
?>
<html>
<head>
<title>Logout</title>
</head>
<body background="images/background.gif">
</body>
<SCRIPT LANGUAGE="javascript">
alert("Usted ha cerrado la sesión, esperamos volver a verle de de nuevo.");
location.href = "index.php";
</SCRIPT>
</html>


Los campos de la tabla historial de la base de datos por si sirve de algo son:
numerodesesion
usuariodesesion
fechainiciosesion
fechacierresesion

Etiquetas: bd, cerrar, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:07.