Autor Tema: [TUTORIAL] Sistema de usuarios en POO - By Siquillote -  (Leído 3585 veces)

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
[TUTORIAL] Sistema de usuarios en POO - By 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 = &#39;".$this->usuario."&#39;"));
	
	
	
	
$this->contra_bd =         $this->mysql[&#39;pass&#39;];
	
	
	
	
$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[&#39;usuario&#39;] = $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[&#39;usuario&#39;].""; // Esto será el mensaje que le saldrá al usuario si se ha logeado correctamente. Puedes modificarlo.
$llamar = new Usuarios($_POST[&#39;usuario&#39;],$_POST[&#39;contra&#39;],$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á ;).

#Fdo. Physlet

Comunidad PHPeros

[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« en: 20 de Agosto de 2010, 14:23:48 pm »

Desconectado Farresito

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 5
  • Sexo: Masculino
  • PimPamTomaC++
    • Ver Perfil
    • Farresito
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #1 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!
“Lo mejor de los booleanos es que si te equivocas estás a un sólo bit de la solución correcta.”

-- Anónimo

"No temo a los ordenadores; lo que temo es quedarme sin ellos"

-- Isaac Asimov

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #2 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

Desconectado Farresito

  • PHPero Avanzado
  • ****
  • Mensajes: 385
  • Karma: 5
  • Sexo: Masculino
  • PimPamTomaC++
    • Ver Perfil
    • Farresito
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #3 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 :)
“Lo mejor de los booleanos es que si te equivocas estás a un sólo bit de la solución correcta.”

-- Anónimo

"No temo a los ordenadores; lo que temo es quedarme sin ellos"

-- Isaac Asimov

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #4 en: 26 de Octubre de 2010, 20:47:25 pm »

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

#Fdo. Physlet

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #5 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
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #6 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

#Fdo. Physlet

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #7 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.

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #8 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
- Moderador de PHP


Desconectado -Pituko-

  • PHPero Experto
  • *****
  • Mensajes: 954
  • Karma: 20
  • Sexo: Masculino
  • ¡Hala Madrid!
    • Ver Perfil
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #9 en: 28 de Diciembre de 2010, 19:51:26 pm »
Esta muy bien hecho, si tuviera karmas, te daría.

Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #10 en: 03 de Enero de 2011, 01:04:20 am »
Más karma :D

Saludos

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[TUTORIAL] Sistema de usuarios en POO - By Siquillote -
« Respuesta #11 en: 07 de Enero de 2011, 00:20:56 am »

#Fdo. Physlet