Hola,
Les traigo la vercion actualizada del
EasyLogin ( siempre me olvido de postearla xD ):
**************
NUEVA VERCION: http://www.forosdelweb.com/f18/aport...-3-0-a-736848/
**************
Código php:
Ver original<?php
/********************************************************\
* EasyLogin *
**********************************************************
* Autor: Pato12 de forosdelweb.com *
* Version: 2.5 *
* Web del autor: halfmusic.com *
* Descripcion: *
* Sirve para registrar, logiar, revisar si un *
* usuario existe, etc... *
**********************************************************
**********************************************************
* Este scriopt PHP es libre de usar siempre *
* cuando no borren estas lineas y respeten la *
* Licencia: GNU General Public License *
* http://creativecommons.org/licenses/GPL/2.0/deed.es_AR *
*********************************************************/
class EasyLogin{
'conexion'=>false,
'tabla'=>false,
'campos'=>false,
);
public function __construct($conexion=false,$tabla=false,$campos=false){
$error=false;
$conexion=$this->conectarBD($conexion);
if($conexion === false){
$this->setError("Conexion no valida.");
$error=true;
}
if($tabla === false){
$this->setError("Tabla no valida.");
$error=true;
}
if($campos === false || !is_array($campos)){ $this->setError("Campos no validos.");
$error=true;
}
$this->data['tabla']=$this->filtro($tabla);
$this->data['campos']=$campos;
$this->data['conexion']=$conexion;
return !$error;
}
public function loginUser($user,$clave){
if($this->data['conexion'] === false)
return $this->data['conexion'];
$consulta = sprintf("SELECT * FROM %s WHERE %s='%s' AND %s='%s'",$this->data['tabla'],$this->data['campos'][0],$this->filtro($user),$this->data['campos'][1],$this->filtro($clave)); $consultar = $this->query_sql($consulta);
}
public function dataUser($dato,$select=false){
if($this->data['conexion'] === false)
return $this->data['conexion'];
$consulta = sprintf("SELECT %s FROM %s WHERE %s='%s'","*",$this->data['tabla'],!$select?
$this->data['campos'][0]:$this->filtro($select),$this->filtro($dato)); $consultar = $this->query_sql($consulta);
}
public function existeUser($user){
if($this->data['conexion'] === false)
return $this->data['conexion'];
$consulta=sprintf("SELECT * FROM %s WHERE %s='%s'",$this->data['tabla'],$this->data['campos'][0],$this->filtro($user)); $consultar = $this->query_sql($consulta);
}
public function registrar($datos,$campos){
if($this->data['conexion'] === false)
return $this->data['conexion'];
$this->setError("Los campos o datos, no son array.");
$consulta=sprintf("INSERT INTO %s (%s) VALUES (%s)",$this->data['tabla'],implode(',',$campos),'\''.implode("','",$datos).'\''); return $this->query_sql($consulta);
}
public function getError(){
return $this->data['errores'];
}
public function filtro($value){
}
public function closedBD(){
}
private function conectarBD($datos){
$conexion = mysql_connect(!$datos[0]?
'localhost':$datos[0],$datos[1],$datos[2]) or
$this->setError("Datos de conexion al servidor mal (".mysql_error().")."); $conexion_bd = mysql_select_db($datos[3],$conexion) or
$this->setError("BD o conexion con el servidor, erronea (".mysql_error().")"); return $conexion&&$conexion_bd?$conexion:false;
}
private function setError($err){
$this->data['errores'][]=$err;
}
private function query_sql($sql){
}
}
?>
Funciona casi igual al otro, las funciones se usan igual, lo que cambia el modo de ejcutacion.
Código php:
Ver original$EasyLogin = new EasyLogin
(array("SERVIDOR","USUARIO","CLAVE","BD"),'TABLA DE USUARIO',array('FILA DE NICK','FILA DE CLAVE'));
o si ya tenemos la conexion a la bd echa:
Código php:
Ver original$EasyLogin = new EasyLogin
($CONEXION BD
,'TABLA DE USUARIO',array('FILA DE NICK','FILA DE CLAVE'));
Las funciones se cambiaron algunas de nombres.
Un ejemplo de uso:
Código php:
Ver original<?php
include('EasyLogin 2-5.php');
$sis = new EasyLogin
(array("localhost","root","","base_de_datos"),'users',array('nick','clave'));
$usuario = 'demo_user'; // Usuario a registrar
$clave = 'demo'; // Clave del usuario
if($sis->existeUser($usuario)){ // Si el usuario existe
echo "No se pudo registrar, el usuario ya existe."; // Imprimimos
}else{ // Si no
$campos=array('nick','clave','email'); // Definimos campos $reg=$sis->registrar($datos,$campos); // Registramos
if($reg){ // Si salio bien
echo "Registrado correctamente.<br />"; // Lo decimos
if($sis->loginUser($usuario,$clave)){ // Lo logeamos
echo "Logeadio!"; // Si se logeo bien lo decimos
var_dump($sis->dataUser($usuario)); // Un dump de sus datos }else // Si no se logeio
echo "No se pudo logear"; // Lo decimos
}else // Si no se registro
echo "No se pudo registrar."; // Lo decimos
}
var_dump($sis->getError()); // Hacemos un dump de los errores que se producieron
$sis->closedBD(); // Cerramos la conexion a la bd
?>
Bueno, espero que les sirva :P
Yo uso este codigo en muchas webs... y me anda bien.
Gracias
Salu2
PD: Ya voy a postiar muchas class mas que hice y no postie jajja, es muy larga la documentacion ( como una class para crear mapas de google maps ) :P