[ Foro de PHP ]

Conexion POO

11-Apr-2023 17:34
Invitado (siREZ)
0 Respuestas

Cordial saludo
trato de logear con PHP POO

asi:

<?php
$username = $_POST['username'];
$password = $_POST['password'];

require_once('Conexion POO a BBDD.php');
include('MyClass.php');

//$obj = new MyClass();
echo "Nombre: $nombre <br> Tipo de Usuario $tipo";
?>

la conexion esta bien... pero la clase, hay algo que no funciona:

<?php class MyClass {
   private $nombre;
   private $tipo;
   private $username;
   private $password;

   public function __construct($nombre, $tipo, $username, $password) {
       $this->nombre = $nombre;
       $this->tipo = $tipo;
       $this->username = $username;
       $this->password = $password;
   }

   public function getNombre() {
       return $this->nombre;
   }

   public function getUsername() {
       return $this->username;
   }

   public function getPassword() {
       return $this->password;
   }

   public function getTipo() {
       return $this->tipo;
   }

   public function setNombre($nombre) {
       $this->nombre = $nombre;
   }

   public function setTipo($tipo) {
       $this->tipo = $tipo;
   }

   public function setUsername($username) {
       $this->username = $username;
   }

   public function setPassword($password) {
       $this->password = $password;
   }

   public function authenticate($pdo) {
       $query = "SELECT * FROM master WHERE username = :username AND password = :password";
       $stmt = $pdo->prepare($query);
       $stmt->bindParam(':username', $this->username);
       $stmt->bindParam(':password', $this->password);
       $stmt->execute();

       if ($stmt->rowCount() == 1) {
           $row = $stmt->fetch(PDO::FETCH_ASSOC);
           $this->nombre = $row['nombre'];
           $this->tipo = $row['tipo'];
           return true;
       } else {
           return false;
       }
   }
}
?>

deberia imprimir Nombre y tipo de Usuario... pero no me imprime.

Alguien me puede ayudar?

Gracias




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)