• Publicidad

Ayuda

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Ayuda

Notapor markitos » 2005-05-12 10:57 @497

Hola miren estoy desarrollando un sistema en perl usando cgis, el sistema maneja una sesion que me permita tener los datos del usuario, con una base de datos de sql, cuando inicia el sistema te pide un username y un password, se lo das y inicia tu pantalla principal, el problema es que no me mantiene la sesion ya que tambien de ella depende que el sistema te de acceso a ciertos menus, no se si tenga algun problema con la BD o sea la sesion

#!/usr/bin/perl

use CGI ':standard';
use DBI; #Inicio del DBI
use CGI::Session qw/-api3/; #Incio de una Sesion CGI

print header;
$sid = cookie(CGISESSID); #Permite mantener la sesion por medio de la cookie creada
$session = new CGI::Session(undef, $sid, {Directory=>'/tmp'});

$username = $session->param('username'); #obtiene el parametro de la sesion
$ID = $session->param('ID'); #obtiene el parametro de la sesion

$dbh = DBI->connect('DBI:mysql:Tickets') #Se conecta a la base de datos
or die "Couldn't connect to database: " . $DBI->errstr;
$sth = $dbh->prepare('Select * From usuario where username = ?') #Hace referencia a la tabla de tickets del usuario especificado
or die "Couldn't prepare statement: " . $dbh->errstr;

my @data;
$sth->execute($username); # Ejecuta el query para validar que existe el usuario
# Read the matching records and print them out
while (@data = $sth->fetchrow_array()) { #Trae cada uno los registros del usuario nombre ,apellidos
$nombre = $data[1];
$apellidopat = $data[2];
$apellidomat = $data[3];
}

Esta es la parte de codigo que llama la sesion y la carga para poder dar el nombre del usuario.

Tambien tengo una parte que busca un ticket de servicio o un usuario, me marca unos errores no se si sean tambien parte de que la sesion no esta funcionando bien los errores son los siguientes:

DBD::mysql::st execute failed: Query was empty at busqueda.pl line 73.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at busqueda.pl line 80.
DBD::mysql::st execute failed: called with 1 bind variables when 0 are needed at busqueda.pl line 157.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at busqueda.pl line 166.
DBD::mysql::st execute failed: called with 1 bind variables when 0 are needed at busqueda.pl line 244.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at busqueda.pl line 251.

Si me pueden ayudar con algo se los agradecere mucho
markitos
 

Publicidad

Notapor Invitado » 2005-05-18 10:19 @471

Ok gracias estoy siguendo tus consejos, oie una pregunta en la ultima parte donde me indicas el codigo de conexion a la DB eso lo debo de hacer en todas los programas q realicen esa conexion? :?:
Invitado
 


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado