Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2010, 17:00
Avatar de carlos_belisario
carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
ayuda con mvc

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
  1. <?php
  2. $do="vista";#por defecto muestra la vista
  3. if(isset($_GET['do'])){
  4.     $do=$_GET['do'];#trae el que indica la url
  5. }  
  6. if($do=="vista"){
  7.     require_once("vista.php");
  8. }
  9. elseif($do=="log"){
  10.     require_once("log.php");
  11.     $log=loging::getInstance();
  12.     $valor=$log->cargar($_POST['usuario'],$_POST['pass']);     
  13.     if($valor=="formato_invalido"){
  14.         header("location:vista.php?error_formato=si");
  15.         exit;
  16.     }
  17.     elseif($valor=="usuario_deshabilitado"){
  18.         header("location:vista.php?userdes=si");
  19.         exit;
  20.     }
  21.     elseif($valor=="usuario_incorrecto"){
  22.         header("location:vista.php?userinc=si");
  23.         exit;
  24.     }else{
  25.         header("location:inicio.php");
  26.     }
  27. }
aki ahora la vista
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>INVENTARIO</title>
  6. <link rel="stylesheet" href="estilos/index.css" type="text/css" />
  7. <script src="script/index.js" type="text/javascript"></script>
  8. </head>
  9. <body onload="cargar()">
  10. <table width="100%" height="297" border="0" cellpadding="0" cellspacing="0">
  11.   <tr>
  12.     <td colspan="2"><div align="center"><img src="imagenes/inicio_session.gif" /></div></td>
  13.   </tr>
  14.   <tr>
  15.     <td width="50%">&nbsp;</td>
  16.     <td width="50%">&nbsp;</td>
  17.   </tr>
  18.   <tr>
  19.     <td colspan="2">&nbsp;</td>
  20.   </tr>
  21.   <tr>
  22.     <td colspan="2">&nbsp;</td>
  23.   </tr>
  24.   <tr>
  25.     <td colspan="2"><div align="center">
  26.     <form name="form1" action="controlador.php?do=log" method="post" onsubmit="return validar()">
  27.     <table width="314" class="tables">
  28.         <tr>
  29.           <td colspan="2"><div align="center"><img src="imagenes/com-inventario.gif"/></div></td>
  30.           </tr>
  31.         <tr>
  32.           <td>&nbsp;</td>
  33.           <td>&nbsp;</td>
  34.           </tr>
  35.         <tr>
  36.           <td width="152"><div align="right">Usuario:</div></td>
  37.           <td width="150"><label>
  38.             <input name="usuario" type="text" id="usuario" />
  39.           </label></td>
  40.           </tr>
  41.         <tr>
  42.             <td><div align="right">Contrase&ntilde;a:</div></td><td><label>
  43.               <input name="pass" type="password" id="pass" />
  44.             </label></td>          
  45.         </tr>
  46.         <tr>
  47.             <td colspan="2"><div align="center">
  48.               <label>
  49.               <input type="submit" name="Submit" value="Iniciar Sesi&oacute;n" />
  50.               </label>
  51.             </div></td>        
  52.         </tr>
  53.     </table>
  54.     </form>
  55.     </div></td>
  56.   </tr>
  57.  
  58.   <tr>
  59.     <td>&nbsp;</td>
  60.     <td>&nbsp;</td>
  61.   </tr>
  62.   <tr>
  63.     <td>&nbsp;</td>
  64.     <td>&nbsp;</td>
  65.   </tr>
  66. </table>
  67. </body>
  68. </html>

y aca el modelo
Código PHP:
Ver original
  1. <?php
  2. require_once("conexion.php");
  3. class loging{
  4.     private $conectar;
  5.     private $user;
  6.     private $pass;
  7.     private $consulta; 
  8.     private $row;
  9.     private $errorCla;
  10.     private $retorno;
  11.     private static $instancia;
  12.     private function __construct(){
  13.     }
  14.     public static function getInstance()
  15.    {
  16.       if (!self::$instancia instanceof self)
  17.       {
  18.          self::$instancia = new self;
  19.       }
  20.       return self::$instancia;
  21.    }
  22.     public function cargar($user,$pass){   
  23.         if(preg_match("/(^[a-z]{1,20})(?!\s)([\w]{0,20}$)/i",$user)){
  24.             $this->user=strtolower(htmlentities(trim(strip_tags($user))));     
  25.             $this->pass=md5($pass);        
  26.             $this->logeate();
  27.         }
  28.         else{          
  29.             $this->retorno="formato_invalido";         
  30.         }  
  31.         return $this->retorno;                     
  32.     }
  33.     private function logeate(){    
  34.         $this->conect=new conexion();
  35.         $this->conect->select_db("inventario1");
  36.         $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);                        
  37.         if(count($this->row)>0){                   
  38.             if($this->row['estatus']=="habilitado"){
  39.                 $_SESSION['user_auten']="usuario_ingresado";#autentificacion usuario
  40.                 $_SESSION['nivelUser']=$this->row['nivel'];#guardamos el nivel para darle los privilegios
  41.                 $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              
  42.                 $this->retorno="usuario_autenticado";
  43.             }
  44.             else{
  45.                 $this->retorno="usuario_deshabilitado";
  46.             }  
  47.         }                  
  48.         else{                                                                              
  49.             $this->retorno="usuario_incorrecto";
  50.         }              
  51.     }
  52. }
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
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way