Código PHP:
<?php
session_start();
include_once "conexion.php";
function verificar_login($user,$password,&$result) {
$sql = "SELECT * FROM usuarios WHERE usuario = '$user' and password = '$password'";
$rec = mysql_query($sql);
$count = 0;
while($row = mysql_fetch_object($rec))
{
$count++;
$result = $row;
}
if($count == 1)
{
return 1;
}
else
{
return 0;
}
}
if(!isset($_SESSION['userid']))
{
if(isset($_POST['login']))
{
if(verificar_login($_POST['user'],$_POST['password'],$result) == 1)
{
$_SESSION['userid'] = $result;
switch($result->tipo)
{
case '0':
header('location:principal.php');
exit;
break;
case '1':
header('location:principal2.php');
exit;
break;
case '2':
header('location:principal3.php');
exit;
break;
case '3':
header('location:principal4.php');
exit;
break;
default:
header('location:index.php');
exit;
}
}
else
{
echo '<div class="error">Su usuario es incorrecto, intente nuevamente.</div>';
}
}
?>
<form action="" method="post" class="login">
<div><label>Nombre de Usuario</label><input name="user" type="text" ></div>
<div><label>Contraseña</label><input name="password" type="password"></div>
<div><input name="login" type="submit" value="Inicio"></div>
<div><a href="login.php" class="registrar"></a></div>
</form>
<?php
}
else {
include_once("index.php");
}
?>
mi problema que cuando agrego los archivos "principal.php" por ejemplo, donde tomo mi variable de sesión para mostrar el usuario no me imprime el nombre del usuario solo el texto de "bienvenido" mas no el nombre el codigo que uso es el siguiente:
Código PHP:
<?php
session_start();
// Inicia sesión
// Si la sesión de usuario no se establece,
// esta página saltará a página de acceso
if (!isset($_SESSION['userid'])) {
header('Location: index.php');
} else {session_unset('userid');}
//Borra la variable de sesión
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
<body>
<p>Bienvenido:<?php echo $_SESSION['userid']; ?></p>
<br/><a href="logout.php">Logout</a>
</body>
</html>