Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Admin y Pass para acceder al panel de administrador

Estas en el tema de Admin y Pass para acceder al panel de administrador en el foro de PHP en Foros del Web. Necesitaba la ayuda de alguien para poder hacer esto: Lo que quiero hacer, es que al acceder a esta dirección(ejemplo): example.com/admin/ me ponga un formulario ...
  #1 (permalink)  
Antiguo 19/07/2013, 18:09
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
Admin y Pass para acceder al panel de administrador

Necesitaba la ayuda de alguien para poder hacer esto:
Lo que quiero hacer, es que al acceder a esta dirección(ejemplo): example.com/admin/ me ponga un formulario con: USUARIO y CONTRASEÑA, ambos datos que fuesen una variable en un archivo php y al coincidir dejase entrar, no se si me explico bien, espero que me ayuden gracias


He encontrado por la web este código que me parece interesante y que es lo que busco, pero no se hacerlo funcionar... El código es este:
Cita:
Lo puedes hacer así:

<?php
session_start();
if ($_POST['user']) {
if ($_POST['user'] == "usuario" && $_POST['`pass'] == "contraseña") {
$_SESSION['autorizado'] = TRUE;
header ("Location: protegida.php");
} else {
$mensaje = "Nombre de usuario o contraseña incorrectos";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<p>Introduce tu nombre de usuario y contraseña</p>
<p><?php echo $mensaje; $mensaje = ""; ?></p>
<form action="#" method="post">
<fieldset>
<label>Usuario: <input name="user" /></label>
<label>Contraseña: <input name="pass" type="password" /></label>
<input type="submit" value="Entrar" />
</fieldset>
</form>
</body>
</html>

Y lo más importante es tener esto al inicio de cada una de tus páginas protegidas para que nadie las pueda ver sin estar autorizado:

<?php
session_start();
if ($_SESSION['autorizado'] != TRUE) header("Location: login.php");
?>
(Bueno, es un mensaje de un usuario en yahoo respuestas).

y yo hago esto:
En mi protect.php tengo esto:
Cita:
<?php
session_start();
if ($_POST['user']) {
if ($_POST['user'] == "usuario" && $_POST['`pass'] == "contraseña") {
$_SESSION['autorizado'] = TRUE;
header ("Location: protegida.php");
} else {
$mensaje = "Nombre de usuario o contraseña incorrectos";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<p>Introduce tu nombre de usuario y contraseña</p>
<p><?php echo $mensaje; $mensaje = ""; ?></p>
<form action="#" method="post">
<fieldset>
<label>Usuario: <input name="user" /></label>
<label>Contraseña: <input name="pass" type="password" /></label>
<input type="submit" value="Entrar" />
</fieldset>
</form>
</body>
</html>

y en las páginas que quiero que vea si el logueo fue exitoso (ejemplo: index.php, mensaje.php, ect) tengo esto escrito al principio del archivo:
Cita:
<?php
session_start();
if ($_SESSION['autorizado'] != TRUE) header("Location: login.php");
?>

Pero no funciona, no se por que, si alguien pudiese repararlo :S

Última edición por xasgay; 19/07/2013 a las 18:49
  #2 (permalink)  
Antiguo 20/07/2013, 12:31
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: Admin y Pass para acceder al panel de administrador

Siempre que hagas un header('location: ...'); debes hacer un exit();, de lo contrario el script seguirá ejecutando hasta terminar el script por completo, en los códigos tienes varios errores muy básicos, si vas a comenzar con algo así te recomiendo que primero estudies HTML y PHP, de lo contrario vas a tropezar con cosas muy básicas muy seguido, y solo te frustrarás...

Código PHP:
Ver original
  1. <?php
  2. if (isset($_POST['user']) && isset($_POST['pass'])) {
  3. if ($_POST['user'] == "usuario" && $_POST['pass'] == "contraseña") {
  4. $_SESSION['autorizado'] = TRUE;
  5. header ("Location: protegida.php");
  6. exit();
  7. } else {
  8. $mensaje = "Nombre de usuario o contraseña incorrectos";
  9. }
  10. }
  11. ?>
  12. <!DOCTYPE html>
  13. <html>
  14. <head>
  15. <title>Login</title>
  16. </head>
  17. <body>
  18. <p>Introduce tu nombre de usuario y contraseña</p>
  19. <?php echo isset($mensaje) ? '<p>'.$mensaje.'</p>' : NULL; ?>
  20. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  21. <fieldset>
  22. <label>Usuario: <input name="user" type="text /></label>
  23. <label>Contraseña: <input name="pass" type="password" /></label>
  24. <input type="submit" value="Entrar" />
  25. </fieldset>
  26. </form>
  27. </body>
  28. </html>

Código PHP:
Ver original
  1. <?php
  2. if (!isset($_SESSION['autorizado'])) {
  3. header('location: login.php');
  4. exit();
  5. }
  6. ?>

Espero que al menos analices los cambios que he hecho y no solo hagas copy/paste....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 20/07/2013, 14:40
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Admin y Pass para acceder al panel de administrador

Muchas gracias, le falto una comilla que por eso no me mostraba el input de contraseña, pero ya está, gracias :)

Etiquetas: admin, administrador, formulario, panel, pass, variable
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 23:40.