Foros del Web » Programando para Internet » PHP »

autentificacion de usuario

Estas en el tema de autentificacion de usuario en el foro de PHP en Foros del Web. Hola a todos. Estoy siguiendo el manual que hay en la pagina de desarrolloweb para la autentificacion de usuarios con una clave comun, pero no ...
  #1 (permalink)  
Antiguo 16/12/2004, 07:19
 
Fecha de Ingreso: enero-2004
Mensajes: 132
Antigüedad: 20 años, 3 meses
Puntos: 0
autentificacion de usuario

Hola a todos.

Estoy siguiendo el manual que hay en la pagina de desarrolloweb para la autentificacion de usuarios con una clave comun, pero no me funciona bien. Este es el código.
Pongo solo las partes que afectan a la autentificacion de usuarios.

EMPRESAENTRAR.PHP


<form action="control.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si"){?>
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
<?}else{?>
bgcolor=#cccccc>Introduce tu clave de acceso
<?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td><input type="Text" name="usuario" size="8" maxlength="50"></td>
</tr>
<tr>
<td align="right">PASSWD:</td>
<td><input type="password" name="contrasena" size="8" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="Submit" value="ENTRAR"></td>
</tr>
</table>
</form>




CONTROL.PHP

<?
//vemos si el usuario y contraseña es váildo
if ($_POST["usuario"]=="miguel" && $_POST["contrasena"]=="qwerty"){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: productos.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: empresaentrar.php?errorusuario=si");
}
?>


PRODUCTOS.PHP

<?include "seguridad.php";?> //en la tercera linea del documento.

y


<a href="salir.php">Salir</a>


SEGURIDAD.PHP

<?
//Inicio la sesión
session_start();

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
header("Location: empresaentrar.php");
//ademas salgo de este script
exit();
}
?>

SALIR.PHP
<?
session_start();
session_destroy();
?>
<html>
<head>
<title>Has salido!!</title>
</head>

<body>

Gracias por tu acceso
<br>
<br>
<a href="empresaentrar.php">Formulario de autentificación</a>

</body>
</html>


Este es el codigo que estoy usando, pero por mas vueltas que le doy me sigue apareciendo el siguiente error:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at productos.php:2) in /home/distrel/public_html/seguridad.php on line 3

en la pagina segura.

Muchisimas gracias por anticipado.
__________________
La prueba mas clara de sabiduria es la alegria continua
  #2 (permalink)  
Antiguo 16/12/2004, 08:02
 
Fecha de Ingreso: diciembre-2004
Mensajes: 51
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola, yo no se mucho de esto pero creo que tu problema viene por que llamas a la session despues de algun tipo de etiqueta, en el archivo no lo pones (productos.php) solo dices que esta en la tercera linea si por encima hay algun tipo de etiqueta html o algo intenta ponerlo por ecima de esas etiquetas.

Un saludo. Y suerte
  #3 (permalink)  
Antiguo 16/12/2004, 08:35
 
Fecha de Ingreso: enero-2004
Mensajes: 132
Antigüedad: 20 años, 3 meses
Puntos: 0
Por fin!!!!!!

las anteriores lineas eran tambien includes, no etiquetas html, pero gracias a ti, ya veo que las sesiones deben ser las primeras.

De nuevo, muchas gracias.
__________________
La prueba mas clara de sabiduria es la alegria continua
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:48.