Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PostgreSQL (http://www.forosdelweb.com/f99/)
-   -   haciendo una Bitacora (http://www.forosdelweb.com/f99/haciendo-bitacora-562054/)

karatedo 02/03/2008 10:37

haciendo una Bitacora
 
Tengo un sistemita hecho en php y necesito un trigger que me guarde ciertos datos de cada tabla en la bitacora, ademas necesito saber que usuario hizo la transaccion. El problema es que no quiero guardar el usuario rol de postgres, si no el usuario de session de apache. que puedo hacer?

seyko 03/03/2008 02:58

Re: haciendo una Bitacora
 
pasarlo por parametro?

Rh_Fenix 03/03/2008 16:55

Re: haciendo una Bitacora
 
Hola karatedo:

Para empezar debes iniciar una sesion y crear una variable usuario, supongo ke manejas el sistema con usuario y contraseña, pues a la variable de sesion usuario(pero es mejor usar el id) le asignas el valor de el usuario(id) ke inicio la sesion en tu sistema.

por ejemplo:

session_start(); //inicia las sesiones
session_name('Mi_sesion');

//si kieres el nombre del usuario solo debes hacer esto:
$_SESSION['usuario'] =$HTTP_POST_VARS['usuario']; //suponiendo que pasas por metodo post

//si kieres manejar mejor el id y suponiendo que ya se realizo la conexion

$sql= "select * from usuarios where usuario='$usuario' and password='$password'"; //Consulta para sacar el id

$result= pg_exec($conexion, $sql); //ejecuto la sentencia

$_SESSION['id_usuario'] = pg_result($result,0,"id");


Para usar estas variables en cualkier otra pagina solo debes poner:

$nombre_usuariol=$_SESSION['usuario'] ;
$id_usuario=$_SESSION['id_usuario'];

y eso es todo si tienes alguna otra duda, pregunta solo espero poder responderte, por ke la verdad no soy una experta, bye.

seyko 04/03/2008 02:16

Re: haciendo una Bitacora
 
este foro es de Bases de Datos no de php!

karatedo 04/03/2008 16:06

Re: haciendo una Bitacora
 
el problema es que tiene que ser obligatoriamente en triggers de postgres, osea que no lo tengo que hacer en paginas php, si no capturar el usuario apache dentro de un trigger hecho en la db. Todavia no tengo solucion, pero gracias por sus respuestas.

amilano 04/03/2008 17:54

Re: haciendo una Bitacora
 
Sr. Karateado, buenas tardes :

Una posible solución desde BD, es crear una columna (nombresesíon, por ejemplo) en la o las tablas donde se realizan actualizaciones, las cuales se desea monitorear a través de Trigger. Cada vez que se realice actualizacón de tales tablas desde la interfase Web, deberá enviarse como parametro el nombre de sesión ( con el que se ha loggeado el usuario), a ser insertado en la Tabla, conjuntamente y con el mismo procedimiento que inserta los demás datos.

Saludos.

amilano

seyko 05/03/2008 02:18

Re: haciendo una Bitacora
 
Cita:

Iniciado por karatedo (Mensaje 2309497)
el problema es que tiene que ser obligatoriamente en triggers de postgres, osea que no lo tengo que hacer en paginas php, si no capturar el usuario apache dentro de un trigger hecho en la db. Todavia no tengo solucion, pero gracias por sus respuestas.

Repito, tienes que pasarselo por parametro!


La zona horaria es GMT -6. Ahora son las 22:46.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.