Comunidad PHPeros

Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: Ishamato en 13 de Diciembre de 2006, 20:38:39 pm

Título: Sistema de Logueo (MUY sencillo)
Publicado 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.

Citar
<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.

Citar
<?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
Título: Re: Sistema de Logueo (MUY senzillo)
Publicado por: naveda en 13 de Diciembre de 2006, 21:57:38 pm
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 ;)
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Krosty en 14 de Diciembre de 2006, 07:10:31 am
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 ? :-[
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Ishamato en 14 de Diciembre de 2006, 20:59:02 pm
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 ^^
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Pc-Admin en 14 de Diciembre de 2006, 21:11:57 pm
Naveda, te replico, quiza son innecesarias pero le sirven y almenos comprueba las variables que eso es de lo que se trata
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Raken en 15 de Diciembre de 2006, 00:19:47 am
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.

Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Ishamato en 15 de Diciembre de 2006, 00:23:31 am
Ok!

Supongo que lo que haré será añadirle cookies pero ahora estoy empezando a descubrirlas asín que tardaré un poquito jeje
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Antonio285 en 15 de Diciembre de 2006, 23:09:00 pm
No se podría poner un registro registro? Para que se registre el usuario el solo..
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Ishamato en 17 de Diciembre de 2006, 15:58:56 pm
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
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Revancha en 17 de Diciembre de 2006, 16:27:16 pm
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?
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Ishamato en 17 de Diciembre de 2006, 17:30:46 pm
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 ^^
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Danito en 25 de Diciembre de 2006, 16:24:57 pm
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?
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Ishamato en 20 de Enero de 2007, 14:28:55 pm
No se, nunca e sabido usar la función elseif pero podríamos hacerlo mediante cookies..
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Ishamato en 21 de Enero de 2007, 10:41:58 am
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)
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: BillieJoe96 en 14 de Marzo de 2007, 21:52:29 pm
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

Citar
<?
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>
<?
}
?>
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Dj-Celta en 16 de Marzo de 2007, 23:28:59 pm
<?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?
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: BillieJoe96 en 30 de Marzo de 2007, 23:09:34 pm
<?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
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: JuAnCHO en 31 de Marzo de 2007, 00:54:56 am
De que hablas ? No ves que está echo en php ? ...
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Ishamato en 08 de Abril de 2007, 21:38:04 pm
Madre mía.. que peces vamos BillieJoe.. eso son sesiones ¬¬ no tienen nada que ver con las bases de datos mysql..
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: phpmysql en 08 de Abril de 2007, 22:30:40 pm
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"
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: kekoman en 09 de Abril de 2007, 12:27:36 pm
alguien podria poner el codigo final de este script? :D
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: phpmysql en 09 de Abril de 2007, 22:14:02 pm
alguien podria poner el codigo final de este script? :D
el código ya está dado, es el primer post...
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Raken en 26 de Mayo de 2007, 16:10:13 pm
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.
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Ishamato en 27 de Mayo de 2007, 14:40:39 pm
Ok! :P

Pondría el script para descargar pero creo que su simpleza es tal que no hace falta ^^
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: mOrK en 04 de Julio de 2007, 19:31:55 pm
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!
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: G2K en 04 de Julio de 2007, 21:10:39 pm
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
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: mOrK en 04 de Julio de 2007, 21:16:03 pm
O lo que acabo de pensar... hacer el login en una pagina y la comprovacion con los ifs y tal en otra xD
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: FeDe en 04 de Julio de 2007, 22:15:42 pm
Buenas,

Se podría hacer un setcoookie(); lo cual pondré ahora un tutorial en este mismo foro.

Saludos.
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: Shago en 04 de Agosto de 2007, 01:49:44 am
entiendo pero tengo una pregunta haciendo esto

Código: [Seleccionar]
<?php
if($_POST[&#39;acceder&#39;]) { /*Comprobamos que se a pulsado el boton de envio*/

$usuario=$_POST[&#39;nick&#39;]; /* Cambiamos el nick enviado por la variable $usuario */
$contraseña=$_POST[&#39;pass&#39;]; /* 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
Título: Re: Sistema de Logueo (MUY sencillo)
Publicado por: FeDe en 04 de Agosto de 2007, 02:53:43 am
Buenas,

Para poner más usuarios sería

if($usuario == "tiburon" && $contraseña == "4l3t4" || $usuario == "otrousuario" && $contraseña == "otrapass") {

Saludos :P