buenas estoy dandome golpes con esto del modelo y bueno quice implementarcelo a un proyecto pequeño que estoy realizando es algo de un inventario pero kic comenzar con el loging de este y bueno empece asi pero no estoy seguro que sea la manera pudieran darme luz?? decirme no estas loco asi no es jaja bueno les dejo lo que segun yo debe de ser
este seria el controlador
Código PHP:
Ver original<?php
$do="vista";#por defecto muestra la vista
$do=$_GET['do'];#trae el que indica la url
}
if($do=="vista"){
require_once("vista.php");
}
elseif($do=="log"){
require_once("log.php");
$log=loging::getInstance();
$valor=$log->cargar($_POST['usuario'],$_POST['pass']);
if($valor=="formato_invalido"){
header("location:vista.php?error_formato=si"); }
elseif($valor=="usuario_deshabilitado"){
header("location:vista.php?userdes=si"); }
elseif($valor=="usuario_incorrecto"){
header("location:vista.php?userinc=si"); }else{
header("location:inicio.php"); }
}
aki ahora la vista
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>INVENTARIO</title>
<link rel
="stylesheet" href
="estilos/index.css" type
="text/css" /> <script src="script/index.js" type="text/javascript"></script>
</head>
<body onload="cargar()">
<table width="100%" height="297" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center"><img src="imagenes/inicio_session.gif" /></div></td>
</tr>
<tr>
<td width="50%"> </td>
<td width="50%"> </td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<form name="form1" action="controlador.php?do=log" method="post" onsubmit="return validar()">
<table width="314" class="tables">
<tr>
<td colspan="2"><div align="center"><img src="imagenes/com-inventario.gif"/></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td width="152"><div align="right">Usuario:</div></td>
<td width="150"><label>
<input name="usuario" type="text" id="usuario" />
</label></td>
</tr>
<tr>
<td><div align="right">Contraseña:</div></td><td><label>
<input name="pass" type="password" id="pass" />
</label></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input type="submit" name="Submit" value="Iniciar Sesión" />
</label>
</div></td>
</tr>
</table>
</form>
</div></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
y aca el modelo
Código PHP:
Ver original<?php
require_once("conexion.php");
class loging{
private $conectar;
private $user;
private $pass;
private $consulta;
private $row;
private $errorCla;
private $retorno;
private static $instancia;
private function __construct(){
}
public static function getInstance()
{
if (!self::$instancia instanceof self)
{
self::$instancia = new self;
}
return self::$instancia;
}
public function cargar($user,$pass){
if(preg_match("/(^[a-z]{1,20})(?!\s)([\w]{0,20}$)/i",$user)){ $this->logeate();
}
else{
$this->retorno="formato_invalido";
}
return $this->retorno;
}
private function logeate(){
$this->conect=new conexion();
$this->conect->select_db("inventario1");
$this->row=$this->conect->ejecutar_sentencia("SELECT user,pass,nivel,estatus FROM usuario WHERE user='".mysql_real_escape_string($this->user)."' and pass='".$this->pass."' LIMIT 1",true); if($this->row['estatus']=="habilitado"){
$_SESSION['user_auten']="usuario_ingresado";#autentificacion usuario
$_SESSION['nivelUser']=$this->row['nivel'];#guardamos el nivel para darle los privilegios
$this->conect->ejecutar_sentencia("UPDATE usuario SET errorClave=0 WHERE user='".mysql_real_escape_string($this->user)."'");#le vaciamos el error de clave al usuario $this->retorno="usuario_autenticado";
}
else{
$this->retorno="usuario_deshabilitado";
}
}
else{
$this->retorno="usuario_incorrecto";
}
}
}
segun como les dig sera que me pueden dar luz decirme estas bien pero bien mal o es algo parecido pero no asi o algo q me ayude he leido varios articulos pero todavia me cuesta un poco gracias de antemano