Comunidad PHPeros

Lenguajes => PHP => (POO) Programación Orientada a Objetos => Mensaje iniciado por: Siquillote en 20 de Agosto de 2010, 14:23:48 pm

Título: [TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: Siquillote en 20 de Agosto de 2010, 14:23:48 pm

¡Hola! Otro mal día negro ha hecho que me ponga a hacer algún script en POO y me decanté por hacer este. Es un sistema de usuarios muy
facil y muy parecido al de G2K para que lo entendieseis. Si no sabes nada de PHP o POO, revisate un par de tutoriales antes de usas esto.

Dificultad: Media
Utilidad: Util

procesar.php
Citar
<?php
session_start(); include("conectar.php");
// Iniciamos el parametro para poder crear sessiones e incluimos el archivo conectar.php
class Usuarios
{
var $usuario; var $error; var $contar; var $contra_bd; // Se definen las variables que
var $contrase; var $cuerpo; var $error_n; var $mysql; // se van a usar despues

public function __construct($usuario_c,$contrase_c,$cuerpo_c){ // Con esta funcion, le damos los valores a las variables.
$this->usuario = mysql_real_escape_string($usuario_c);
$this->contrase =            mysql_real_escape_string($contrase_c);
$this->error = "Usuario o contraseña incorrecto.";
$this->error_n = "No existe ningún usuario así."
$this->mysql = mysql_fetch_array(mysql_query("SELECT * FROM usuarios WHERE nombre = '".$this->usuario."'"));
$this->contra_bd =         $this->mysql['pass'];
$this->contar = mysql_num_rows($this->mysql);
$this->cuerpo =         $cuerpo_c;
}

public function Comprobar(){ // Aqui comprobamos si existe el usuario o si la contra es distinta o tal.
if($this->contar != 0){ // Si el usuario existe...
if($this->contra_bd == $this->contrase){ // Si la contra en la base de datos es igual a la escrita en el form....
$_SESSION['usuario'] = $this->usuario; // Se crea la session correspondiente
echo $this->cuerpo; // Cuerpo de la pagina que indicara Hola, que tal y esas chorradas jajaja.
} else { // Si la contraseña es distinta...
echo $this->error; // Muestra este error
}
} else { // Si no existe el usuario...
echo $this->error_n; // muestra este error.
}
}
}
$cuerpo_mensaje = "Hola ".$_SESSION['usuario'].""; // Esto será el mensaje que le saldrá al usuario si se ha logeado correctamente. Puedes modificarlo.
$llamar = new Usuarios($_POST['usuario'],$_POST['contra'],$cuerpo_mensaje); // Aplicamos los valores que vamos a usar en la clase usuarios.
echo $llamar->Comprobar(); // Llamamos a la funcion Comprobar para que nos diga el resultado.
?>

index.php
Citar
<form method="post" action="procesar.php">
  <table width="273" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td width="123" align="center" class="Estilo1">Usuario</td>
      <td width="150"><label>
        <input name="usuario" type="text" id="usuario" />
      </label></td>
    </tr>
    <tr>
      <td align="center"><span class="Estilo1">Contrase&ntilde;a</span></td>
      <td><label>
        <input name="contra" type="text" id="contra" />
      </label></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><label>
        <input type="boton" name="Submit" value="Entrar" />
      </label></td>
    </tr>
  </table>
</form>


¡Pues ya está, solo debes cambiar los campos de la consulta a tus respectivos y funcionará! La verdad es que no lo he probado ya que en estos
momentos no cuento con un hosting con mysql "rápida" pero de seguro que funciona ;). Si no funciona, solo me lo decis y ya está ;).
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: Farresito en 26 de Octubre de 2010, 19:48:09 pm
¿Y nadie te responde? Buen trabajo, te dejo Karma+ :)

Si necesitas un espacio rápido para usar te abro un espacio en mi hosting privado (tengo espacio ilimitado así como transferencia, no me importa) y ya. Así también puedes meter algunos códigos. Accedes via FTP en un plis plas y ya.

¡Un abrazo Siqui!
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: westwest en 26 de Octubre de 2010, 20:07:36 pm
Lo único malo que tiene es que devuelve cadenas de texto, en teoria, POO debe devolver true o false para hacer el código más reutilizable, o eso tengo entendido
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: Farresito en 26 de Octubre de 2010, 20:10:22 pm
Lo único malo que tiene es que devuelve cadenas de texto, en teoria, POO debe devolver true o false para hacer el código más reutilizable, o eso tengo entendido
Este fin de semana lo miraré y a ver si se puede mejorar algo, pero no voy muy bien de PHP, ya lo aburrí, y me estoy metiendo en Java :)
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: Siquillote en 26 de Octubre de 2010, 20:47:25 pm

Para mi gusto, "POO mola mas que PHP" :P
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: CarlosRdrz en 26 de Octubre de 2010, 21:07:13 pm
Lo único malo que tiene es que devuelve cadenas de texto, en teoria, POO debe devolver true o false para hacer el código más reutilizable, o eso tengo entendido

Bueno no siempre es así, pero en este caso no estaría nada mal.

Para mi gusto, "POO mola mas que PHP" :P

Querrás decir que POO te mola mas que la programación estructurada.
No puedes comparar POO con PHP, es como comparar plátanos con sillas.

Saludos
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: Siquillote en 26 de Octubre de 2010, 22:00:13 pm
Bueno no siempre es así, pero en este caso no estaría nada mal.

Querrás decir que POO te mola mas que la programación estructurada.
No puedes comparar POO con PHP, es como comparar plátanos con sillas.

Saludos

Por eso lo he escrito entre comillas xDDD
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: Physlet en 27 de Octubre de 2010, 00:14:29 am
Según mi criterio, las impresiones desde los métodos rompen con el esquema de la programación orientada a objetos.
Las impresiones (echo, print) deberían manejarse en el programa principal para hacer la clase del usuario 'reutilizable', así como comentó west.
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: Warlox en 27 de Octubre de 2010, 06:43:17 am
Querrás decir que POO te mola mas que la programación estructurada.
No puedes comparar POO con PHP, es como comparar plátanos con sillas.

Saludos

Yo establecería esa comparación como "es como comparar un plato de comida con palillos chinos con uno que tenga solo cucharas", ya que se está realizando la misma acción (comer = programar), pero con distintos métodos (palillos chinos = estructurada, cucharas = POO).  :P

Hahahaha lo sé, estoy divagando, los efectos del aburrimiento xD
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: -Pituko- en 28 de Diciembre de 2010, 19:51:26 pm
Esta muy bien hecho, si tuviera karmas, te daría.
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: javipilo en 03 de Enero de 2011, 01:04:20 am
Más karma :D

Saludos
Título: Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
Publicado por: Siquillote en 07 de Enero de 2011, 00:20:56 am

Más karma :D

Saludos

Gracias :P