Sludos amigos miren tengo el sgte problema:
tengo 4 scripts
index.php
verifica.php
funcionespear.php
principala.php
en index esta las cajas de texto para el usuario la clave
y en verifica segun la tabla de la BD me manda a una funcion llamada validar_varios($tabla,$db,$txtusuario,$txtclave).
Bueno en este fichero donde contengo todsas mis funciones hago un script para validar creando una session si este existe, pero luego cuando me voy a principala.php la session no levanta y no imprime nada. Quisiera saber si me pueden la aca les mando el codigo
verifica.php
<?php
if ($usuario!="" && $clave!="" && $tipo!="" )
{
include("../funciones/funcionespear.php");
$db=conectar();
switch($tipo)
{
case "a" : //alumnos
validar_varios("gn_alumno",$db,$usuario,$clave);
break;
case "d" : //Docentes
validar_varios("ac_docente",$db,$usuario,$clave);
break;
case "ad" : //Administrativos
validar_varios("gn_personal",$db,$usuario,$clave);
break;
}
}
?>
//hasta aqui todo normal incluso mandan las variables
funcionespear.php
function validar_varios($tabla,$db,$txtusuario,$txtclave)
{
// Global $db,$db,$txtusuario,$txtclave;
//echo "usuario es $txtusuario <br>";
//echo "txtclave es $txtclave <br>";
if ($tabla=="gn_alumno") {
$sql=$db->query("select * from $tabla where idalumno='$txtusuario'");
}else{
$sql=$db->query("select * from $tabla where login='$txtusuario'");
}
if (DB::isError($sql)) die($sql->getMessage()); //valido los errores de la Primera Consulta
if ($db->numrows($sql)==0)
{
echo "<center><b><font color=#993300>El Usuario No existe en La BD</font></b></center><br>";
echo "<META HTTP-EQUIV=Refresh CONTENT='5;URL=index.php'><br><br><br>";
echo "<center><b>Si no se Redirecciona en un Par de Minutos Haga click Aca <center><a href='index.php'>Vuelva a Intentarlo</a></b></center>";
exit;
}else {
$xusuario=split("_",$tabla);
while($data = $sql->fetchRow(DB_FETCHMODE_ASSOC))
{
$idusuario=$data["id$xusuario[1]"];
$login=$data["login"];
$claveu=md5($data["password"]);
//echo "idusuario es " . $data["id$xusuario[1]"] . "<br>";
}
if ($txtusuario!=$idusuario)
{
echo "<center><b><font color=#993300>El Usuario es Incorrecto ...</font></b></center><br>";
echo "<META HTTP-EQUIV=Refresh CONTENT='5;URL=index.php'><br><br><br>";
echo "<center><b>Si no se Redirecciona en un Par de Minutos Haga click Aca <center><a href='index.php'>Vuelva a Intentarlo</a></b></center>";
exit;
}
if (md5($txtclave)!=$claveu)
{
echo "<center><b><font color=#993300>La Clave es Incorrecta</font></b></center><br>";
echo "<META HTTP-EQUIV=Refresh CONTENT='5;URL=index.php'><br><br><br>";
echo "<center><b>Si no se Redirecciona en un Par de Minutos Haga click Aca <center><a href='index.php'>Vuelva a Intentarlo</a></b></center>";
exit;
}
unset($txtusuario);
unset ($txtclave);
/* ===================Proceso de Autentificacion mediante session ======*/
session_start();
session_name("usuarios_ingreso");
session_cache_limiter('nocache,private');
session_register("id_usuario");
session_register("login_usuario");
$id_usuario=$idusuario;
$login_usuario=$login;
Header ("Location: $PHP_SELF?");
/*capturo el id para grabar en tabla sessiones*/
$idses=session_id();
if ($idses!="")
{
$f1=fopen("logs/historial","a+");
$hora=date("h:i:s");
$fecha=date("j-n-Y");
fputs($f1,"$idses - $idusuario - $fecha - $hora \n");
fclose($f1);
}
/**/
$tabla=$tabla;
switch($tabla){
case "gn_alumno" :
header("location:principala.php");
break;
case "ac_docente" :
header("location:principald.php");
break;
}
/* -*-*- */
}
}
//aca esta el problema pues no cre la session
principala.php
<?php
session_start();
echo "user " . $_SESSION["idusuario"] . "<br>";
echo "iduser es $idusuario <br>";
echo "login es $login";
?>
cuando verifico no hay nada
NOTA: Miren ya he probado en un archivo con sessiones de manera simple y si corre asi que creo q la configuracion no es, pero no se porke no inicializa estas variables. El script esta de manera normal recoge los datos de la tabla . Pero el problema es al crear la session
Espero me puedan ayudar Saludos