![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
03/06/2008, 12:39
|
| | Fecha de Ingreso: mayo-2008 Ubicación: Canarias
Mensajes: 6
Antigüedad: 16 años, 9 meses Puntos: 0 | |
Problema con codigo de inicio de sesión Buenas tardes, Estoy desarrollando un codigo de inicio de sesión que no me sale ni a las tres! el codigo se divide en varios pasos y me dá que mi problema lo obtengo al usar las sesiones:
Bueno este es el codigo de la página de miembros:
<?php
// include function files for this application
require_once('funciones.php');
//create short variable names
$nombre = $_POST['nombre'];
$passwd = $_POST['passwd'];
if (!filled_out($_POST))
{
do_html_header('Error');
echo('<br />No ha rellenado correctamente el formulario, por favor vuelva a Intentarlo<br /><br />');
do_html_url('login.php', '<br />Inicio de Sesión<br />');
do_html_footer();
exit;
}
if (!checkactivo($nombre))
{
echo ('no se ha activado el usuario');
}
if ($nombre && $passwd)
// intentan logearse
{
session_start();
try
{
login($nombre, $passwd);
// registramos la sesion
$_SESSION['nombre_valido'] = $nombre;
}
catch(Exception $e)
{
// unsuccessful login
do_html_header('Error');
echo $e->getMessage();
do_html_url('login.php', '<br />Inicio de Sesión<br />');
do_html_footer();
exit;
}
}
check_valid_user();
do_html_header('Pagina de Usuarios');
do_datos_miembro($_SESSION['nombre_valido']);
do_html_footer();
?>
El problema es que no reconoce que el usuario está en una sesión y el programa se para cuando llega a la función Check_valid_user(); que és la siguiente:
function check_valid_user()
// mirar si ha iniciado o no sesión
{
if (isset($_SESSION['nombre_valido']))
{
return true;
}
else
{
// no ha iniciado sesión
do_html_header('Error');
echo '<br /><br />No ha iniciado sesión.<br /><br />';
do_html_url('login.php', '<br />Inicio de Sesiónn<br />');
do_html_footer();
exit;
}
}
esta función está en una página que se llama funciones.php, junto con las demás, pero el problema en sí es la sesion... ¿ Alguna idea? y gracias de antemano |