LoginLogoff
Project loginlogoff
Loading...
Searching...
No Matches
UsuarioPDO.php
Go to the documentation of this file.
1<?php
2
3/* Nombre: Alvaro Garcia Gonzalez
4* Fecha: 18/12/2025
5* Uso: clase UsuarioPDO con sus metodos*/
6
7require_once 'Usuario.php';
8require_once 'DBPDO.php';
9class UsuarioPDO {
10
17 public static function validarUsuario($codUsuario,$password) {
18 $oUsuario=null;
19 $consultaValidar = <<<CONSULTA
20 SELECT *
21 FROM T01_Usuario
22 WHERE T01_CodUsuario= '{$codUsuario}' AND
23 T01_Password = sha2('{$codUsuario}{$password}',256)
24 CONSULTA;
25
26 $resultado= DBPDO::ejecutaConsulta($consultaValidar);
27
28 if($resultado->rowCount()>0){
29 $oResultado=$resultado->fetchObject();
30 $oUsuario=new Usuario(
31 $oResultado->T01_CodUsuario,
32 $oResultado->T01_Password,
33 $oResultado->T01_DescUsuario,
34 $oResultado->T01_NumConexiones,
35 $oResultado->T01_FechaHoraUltimaConexion,
36 $oResultado->T01_FechaHoraUltimaConexionAnterior=null,
37 $oResultado->T01_Perfil
38 );
39 }
40 return $oUsuario;
41 }
42
47 public static function actualizarUltimaConexion($oUsuarioAActualizar){
48 //actualizamos en la base de datos la fecha de la conexion y el numero de estas
49 date_default_timezone_set('Europe/Madrid');
50 $consultaActualizar = <<<CONSULTA
51 UPDATE T01_Usuario
52 SET T01_FechaHoraUltimaConexion = NOW(),
53 T01_NumConexiones = T01_NumConexiones + 1
54 WHERE T01_CodUsuario= '{$oUsuarioAActualizar->getCodUsuario()}'
55 CONSULTA;
56 //ejecutamos la consulta
57 DBPDO::ejecutaConsulta($consultaActualizar);
58
59 //actualizamos la propiedad de la clase que no esta en la base de datos
60 $oUsuarioAActualizar->setFechaHoraUltimaConexionAnterior(new DateTime($oUsuarioAActualizar->getFechaHoraUltimaConexion()));
61 //ahora se actualiza el usuario en memoria
62 $oUsuarioAActualizar->setNumAccesos($oUsuarioAActualizar->getNumAccesos()+1);
63 $oUsuarioAActualizar->setFechaHoraUltimaConexion(new DateTime());
64 }
65
71 public static function altaUsuario($codUsuario,$password,$descUsuario) {
72 $oUsuario=null;
73 $consultaComprobarCodigo = <<<CONSULTA
74 SELECT *
75 FROM T01_Usuario
76 WHERE T01_CodUsuario= '{$codUsuario}'
77 CONSULTA;
78 $resultado= DBPDO::ejecutaConsulta($consultaComprobarCodigo);
79 if($resultado->rowCount()==0){
80 $consultaAlta = <<<CONSULTA
81 INSERT INTO T01_Usuario (T01_CodUsuario, T01_Password, T01_DescUsuario, T01_Perfil)
82 VALUES ('{$codUsuario}', SHA2('{$codUsuario}{$password}', 256), '{$descUsuario}', 'usuario')
83 CONSULTA;
84
85 DBPDO::ejecutaConsulta($consultaAlta);
86 $oUsuario= self::validarUsuario($codUsuario, $password);
87 }
88 return $oUsuario;
89 }
90}
91
92?>
93
static ejecutaConsulta($sentenciaSQL, $parametros=null)
Definition DBPDO.php:9
static actualizarUltimaConexion($oUsuarioAActualizar)
static altaUsuario($codUsuario, $password, $descUsuario)
static validarUsuario($codUsuario, $password)