Comunidad PHPeros
Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: Ishamato en 13 de Diciembre de 2006, 20:38:39 pm
-
Con la colaboración de Pc-Admin, hize este sistema de logueo que es muy sencillo y básico.
Explicaré la parte php ya que la parte html la expliqué en mi tutorial sobre HTML.
<form action="procesar.php" align="center" method="POST">
Nick: <input type="text" name="nick"> <br>
Password: <input type="text" name="pass"> <br>
<input type="submit" name="acceder" value="Acceder">
</form>
Bien, ahora escribiré y explicaré el código php.
<?php
if($_POST['acceder']) { /*Comprobamos que se a pulsado el boton de envio*/
$usuario=$_POST['nick']; /* Cambiamos el nick enviado por la variable $usuario */
$contraseña=$_POST['pass']; /* Cambiamos la contraseña enviada por la variable $pass*/
if($usuario == "tiburon" && $contraseña == "4l3t4") { /* Si a puesto bien el usuario y la contraseña .. */
header("Location: menu.php"); /* ... se le envia al archivo que le indiquemos */
} else {
echo("Los datos que has introducido son incorrectos, porfavor vuelvelo a intentar"); /* Si no a introducido los datos correctos, se le avisa mediante este "else" */
}
}
?>
Modificaciones: - Modificación de las comillas en las variables
-
Estas dos lineas son innecesarias, al menos, segun mi punto de vista.
$usuario="$_POST['nick']"; /* Cambiamos el nick enviado por la variable $usuario */
$contraseña="$_POST['pass']"; /* Cambiamos la contraseña enviada por la variable $pass*/
Te ahorras codigo comprobando simplemente...
if($_POST['nick'] == "tiburon" && $_POST['pass'] == "4l3t4") { /* Si a puesto bien el usuario y la contraseña .. */
Recordad, ante todo, ahorro de lineas de codigo ;)
-
muy bueno... lo he probado, pero al seguir en el script quiero que exista seguridad pero sin vovler a poner los datos, seria cookie o sessions no se? alguien quien podria explicar ? :-[
-
Sí, supongo que podríamos hacerlo mediante cookies pero por desgracia no tengo ni idea acerca de ellas, estaría bien que alguien hiciese un tutorial acerca de ellas y asín podríamos introducirlas en este logueo ^^
-
Naveda, te replico, quiza son innecesarias pero le sirven y almenos comprueba las variables que eso es de lo que se trata
-
Naveda, te replico, quiza son innecesarias pero le sirven y almenos comprueba las variables que eso es de lo que se trata
En realidad... no hay diferencia. Pero siempre resulta más cómodo trabajar con $variable que con $_POST['variable'] ;)
Por cierto:
$usuario="$_POST['nick']"; /* Cambiamos el nick enviado por la variable $usuario */
$contraseña="$_POST['pass']"; /* Cambiamos la contraseña enviada por la variable $pass*/
En el momento que estás poniendo comillas, es como si le estuvieses dando un texto. Como si en vez de decirle que Usuario es tiburon, le estuvieses diciendo que Usuario es $_POST['usuario'], asi tal como está escrito.
Si usas variables, nada de comillas:
$usuario=$_POST['nick']; /* Cambiamos el nick enviado por la variable $usuario */
$contraseña=$_POST['pass']; /* Cambiamos la contraseña enviada por la variable $pass*/
Por otra parte... ¿qué pasa si accedo a menu.php directamente? El formulario para el usuario y contraseña pierde todo su sentido. Tendrás que buscar medios para conseguir que la página con el código que estás haciendo sea realmente restringida. ;)
Suerte y ánimo a seguir con ello.
-
Ok!
Supongo que lo que haré será añadirle cookies pero ahora estoy empezando a descubrirlas asín que tardaré un poquito jeje
-
No se podría poner un registro registro? Para que se registre el usuario el solo..
-
Esto es un logueo, no un sistema de registro de usuarios.
Esto es por ejemplo, para acceder a zonas donde solo el webmaster puede acceder.
Buscarle cada uno una utilidad jeje pero es un sistema de logueo
-
Y como podría hacer este mismo sistema de logueo, pero que pueda agregar más de un usuario, o en ese caso sería más complicado?
-
Pues.. supongo que sería así:
<?php
if($_POST['acceder']) {
$usuario=$_POST['nick'];
$contraseña=$_POST['pass'];
if($usuario == "tiburon" && $contraseña == "4l3t4") {
header("Location: menu.php");
if($usuario == "delfin" && $contraseña == "sindientes") {
echo("Location: menu.php");
} else {
echo("Los datos que has introducido son incorrectos, porfavor vuelvelo a intentar");
} else {
echo("Los datos que has introducido son incorrectos, porfavor vuelvelo a intentar");
}
}
?>
Supongo que sería algo así, nose pruebalo y dime ^^
-
Pues.. supongo que sería así:
<?php
if($_POST['acceder']) {
$usuario=$_POST['nick'];
$contraseña=$_POST['pass'];
if($usuario == "tiburon" && $contraseña == "4l3t4") {
header("Location: menu.php");
if($usuario == "delfin" && $contraseña == "sindientes") {
echo("Location: menu.php");
} else {
echo("Los datos que has introducido son incorrectos, porfavor vuelvelo a intentar");
} else {
echo("Los datos que has introducido son incorrectos, porfavor vuelvelo a intentar");
}
}
?>
Supongo que sería algo así, nose pruebalo y dime ^^
Así no se yo si iría, sería mejor usar elseif en vez de dos if (que dará fallo, creo) y solo un else para dar un mensaje, no creen?
-
No se, nunca e sabido usar la función elseif pero podríamos hacerlo mediante cookies..
-
A ver estube mirando y sería algo asín?
<?php
if($_POST['acceder']) {
$usuario=$_POST['nick'];
$contraseña=$_POST['pass'];
if($usuario == "tiburon" && $contraseña == "4l3t4") {
header("Location: menu.php");
} else if($usuario == "delfin" && $contraseña == "sindientes");
}
?>
¿Asín estaría bien? Esto de que nos tengamos que espavilar nosotroms mismos buscando como se hace mola y todo 8)
-
A ver estube mirando y sería algo asín?
<?php
if($_POST['acceder']) {
$usuario=$_POST['nick'];
$contraseña=$_POST['pass'];
if($usuario == "tiburon" && $contraseña == "4l3t4") {
header("Location: menu.php");
} else if($usuario == "delfin" && $contraseña == "sindientes");
}
?>
¿Asín estaría bien? Esto de que nos tengamos que espavilar nosotroms mismos buscando como se hace mola y todo 8)
Yo digo que seria asi mejor
<?
if($_POST['acceder']) {
$usuario=$_POST['nick'];
$contraseña=$_POST['pass'];
if($usuario == "tiburon" && $contraseña == "4l3t4") {
} else if($usuario == "delfin" && $contraseña == "sindientes");
?>
<html>
<head>
<title>Aqui Titulo</title>
</head>
<body>
Aqui Contenido HTML
</body>
</html>
<?
} else {
?>
<p><font face="Verdana" size="2">Datos Incorrectos</font></p>
<?
}
?>
-
<?php
include("conectar.php");
session_start();
if (isset($_SESSION['s_username'])) {
echo ?>
aqui codigo html
<?
}else{
echo "Tu no estas autentificado dirígete a login.php";
echo $_SESSION['s_username'];
}
?>
Podria ser algo asi?
-
<?php
include("conectar.php");
session_start();
if (isset($_SESSION['s_username'])) {
echo ?>
aqui codigo html
<?
}else{
echo "Tu no estas autentificado dirígete a login.php";
echo $_SESSION['s_username'];
}
?>
Podria ser algo asi?
eso seria con MySQL
-
De que hablas ? No ves que está echo en php ? ...
-
Madre mía.. que peces vamos BillieJoe.. eso son sesiones ¬¬ no tienen nada que ver con las bases de datos mysql..
-
una de las formas para agregar más usuario podría ser esta
Cambiar la línea 6 por esto
if($usuario == "tiburon" && $contraseña == "4l3t4" || $usuario == "cuack" && $contraseña == "pato") { /* Si a puesto bien el usuario y la contraseña .. */
Y si quieres agregar más usuarios, después de "pato" le agregas dos "||" y luego $usuario == "elusuario" && $contraseña == "lapass"
-
alguien podria poner el codigo final de este script? :D
-
alguien podria poner el codigo final de este script? :D
el código ya está dado, es el primer post...
-
Madre mía.. que peces vamos BillieJoe.. eso son sesiones ¬¬ no tienen nada que ver con las bases de datos mysql..
Seguramente lo dice por el conectar.php, en el que se deduce que hay una conexión a una base de datos, generalmente MySQL.
-
Ok! :P
Pondría el script para descargar pero creo que su simpleza es tal que no hace falta ^^
-
Pero una cosa:
Si el login está correcto, te llevará a loquesea.php... pero eso de que sirve? A loquesea.php se puede entrar sin hacer login... (es dificil, vale, pero se puede) Como podria solucionarse eso?
PD: ya sé que tiene mas de un mes el post, pero he hecho algo parecido (es justo lo que necesito) y tengo ese problema... ya que si pongo el menu dentro del if, el login sigue estando ahí, y eso no interesa :S
Saludos!
-
Pues mOrK yo lo que hago es lo mismo pero con COOKIES... si el usuario y contraseña de la base de datos coinciden se crean las COOKIES para 3h si no son correctos te dice que nanai xDDD
Y luego en la pagina que quieras proteger utilizas un if() para saber si existen las cookies creadas... que no existen pues que muestre que la pagina te tienes que registrar.
PD: Cuando acabe con mi Web ya creare un "tutorial de registro de usuarios con cookies, restricciones etc.
Saludos
-
O lo que acabo de pensar... hacer el login en una pagina y la comprovacion con los ifs y tal en otra xD
-
Buenas,
Se podría hacer un setcoookie(); lo cual pondré ahora un tutorial en este mismo foro.
Saludos.
-
entiendo pero tengo una pregunta haciendo esto
<?php
if($_POST['acceder']) { /*Comprobamos que se a pulsado el boton de envio*/
$usuario=$_POST['nick']; /* Cambiamos el nick enviado por la variable $usuario */
$contraseña=$_POST['pass']; /* Cambiamos la contraseña enviada por la variable $pass*/
if($usuario == "tiburon" && $contraseña == "4l3t4")
if($usuario == "tiburon" && $contraseña == "4l3t4")
if($usuario == "tiburon" && $contraseña == "4l3t4") { header("Location: menu.php"); /* ... se le envia al archivo que le indiquemos */
} else {
echo("Los datos que has introducido son incorrectos, porfavor vuelvelo a intentar"); /* Si no a introducido los datos correctos, se le avisa mediante este "else" */
}
}
?>
podria poner mas usuarios poninendo varias veces esto?
if($usuario == "tiburon" && $contraseña == "4l3t4") { pero con diversos datos
-
Buenas,
Para poner más usuarios sería
if($usuario == "tiburon" && $contraseña == "4l3t4" || $usuario == "otrousuario" && $contraseña == "otrapass") {
Saludos :P