Loguin php

Hice un sistema de usuarios con el siguiente esquema
index.htm donde se encuentra el link a la página loguin con un form para loguearse con usuario y contraseña, "login.php" una vez aquí el form es eviado a la aplicación php "login2.php" que se encarga de conectarse a la base de datos, y de seguir con la sesión con session. Start(); indica que si no estas logueado correctamente te tire a "login3.php" o si te logueaste bien a "index.php", pero si yo voy directamente hasta index.php sin pasar por el loguin me permite ingresar solo que aparece una leyenda que dice que no estoy logueado que me loguee, pero igualmente me esta mostrando la info que quiero que este protegida. Necesito un código que me permita restringir las páginas que no quiero que los visitantes sin loguearse vean, estoy ya que no doy más. Necesito una mano urgente ya que tengo que entregar este proyecto en 3 días.
Dime si necesitas algún código para que veas.

1 respuesta

Respuesta
-1
Lo mejor es utilizar un IF, te mando un script para que lo revises e implementes a tu manera.
<?
//VALIDACION
if ($_POST["usuario"]=="rockman" && $_POST["contrasena"]=="megaman"){
//VALIDACION CORRECTA, ENVIO A INDEX.PHP
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: index.php");
}else {
//VALIDACION ERRONEA, ENVIO A LOGIN3.PHP
header("Location: index.php?errorusuario=si");
}
?>
Perdón mi ignorancia, pero estoy aprendiendo en el proceso de implementación del autenticaion de usuarioos
¿Este código que me has enviado es para incluirlo al principio de cada página que quiero restringir?
Gracias por tu pronta respuesta
Es correcto.
hola me tira un error de que no puede redireccionar a http://www.comunidadcabildo.com.ar/index.php?errorusuario=si no comprendo bien el codigo.
Este código que me has pasado es algo como para restringir la página para cierto usuario, ahora lo que yo tengo es así te explico
Tengo una sección de la web que solo la podrán ver usuarios registrados, sea cual sea el usuario ingresará con un loguin y una pass diferente, pero todos se dirigen a las mismas páginas, no sesiones separadas por usuario como seria un panel de control para cada uno de los usuarios.
Con lo cual necesito un código que haga una restricción sobre el usuario no registrado, y deje pasar al session ya iniciado.
Que si escriben index.php no les permita ingresar a menos que vuelvan al loguin y se logueen y así con todas las páginas que voy a restringir.
Para info
Se loguean con variable "usuario" y "pass1" desde ya muchas gracias
Este script te sirve perfecto para tu propósito, te enviare las otras páginas para que les eches un vistazo.
index.php
<span class="codigo">
<html>
<head>
<title>Autentificación PHP</title>
</head>
<body>
<h1>Autentificación PHP</h1>
<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>
</body>
</html>
</span>
control.php
<?
//VALIDACION
if ($_POST["usuario"]=="rockman" && $_POST["contrasena"]=="megaman"){
//VALIDACION CORRECTA, ENVIO A INDEX.PHP
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: index.php");
}else {
//VALIDACION ERRONEA, ENVIO A LOGIN3.PHP
header("Location: index.php?errorusuario=si");
}
?>
Te salio error al introducir mal tu contraseña debido a que no tenias la variable "errorusuario" definida.
Ahora bien yo te envíe el ejemplo de un usuario en concreto, sin embargo si estas utilizando php con sql, deberías en vez de ingresar la información de un usuario, una consulta en el servidor sql para que en caso de que el usuario exista, te deje ver la página.
El código, para simplificarte la vida, seria así.
<span class="codigo"><?
$conn = mysql_connect("servidor","usuario","password");
mysql_select_db("nombre_bbdd",$conn);
$ssql = "SELECT * FROM usuario WHERE nombre_usuario='$usuario' and clave_usuario='$contrasena'";
$rs = mysql_query($ssql,$conn);
if (mysql_num_rows($rs)!=0){
    session_start();
    session_register("autentificado");
    $autentificado = "SI";
    header ("Location: index.php");
}else {
    header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
</span>
Solamente tendrías que cambiar los valores de tu servidor, tabla y así mismo de las columnas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas