Почему я получаю WSOD даже после установки php для отображения всех ошибок?

Я изучаю ООП в PHP. Мне дали домашнее задание о создании маленькой театральной системы бронирования. Я начал с простой базы данных с возможностью вставлять только имя для резервирования.

Теперь, почему это дает мне совершенно пустую страницу? Я предполагаю, что у меня более одной ошибки, так как это самая первая попытка, начинающаяся с нуля, но почему я ничего не получаю … вообще?

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

/* Sistema de reserva de asientos en un complejo con 2 salas donde
se pueden reservar asientos para cada espectáculo que ofrezca la sala,
individualmente considerado.
Se puede 'reservar' o 'cancelar reserva' un asiento cuidando que la reserva no supere
las butacas disponibles y que no quede en número negativo.
Usar PDO y PDO::rollback para cancelar las reservas
*/

//genero la clase sala
class Sala{
protected $cantButacas;
protected $pdo; //acá guardamos el objeto conexión

function __construct($butacas) {
$host='localhost';
$user='root';
$pass='123456';
$dbname='cine';

$this->cantButacas = $butacas;
$this->pdo = $pdo;

try { //conectamos a la base
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
if ($pdo) {
echo 'Conexión a la base exitosa<br>.';
} else { //si no nos conectamos...
trow new Exception()
}
} catch(Exception $e) { //Mostrar datos del error
echo 'No se pudo conectar a la base: '. $e->getCode() . ' ' . $e->getLine() . ' ' .$e->getFile() . ' ' .$e->getTrace();
}
}

function getButacas() {
$pdo->query('SELECT id FROM usuarios');
$butacasOcupadas = mysqli_num_rows($pdo);
echo "Hay <b>$butacasOcupadas</b> butacas ocupadas.<br>";
$butacasLibres = $this->cantButacas - $butacasOcupadas;
echo "Quedan <b>$butacasLibres</b> butacas libres.<br>";
}

function addUsuario($usuario) {
$usuario = $_POST['usuario'];
try {
$nuevoUsuario = $pdo->query('INSERT INTO usuarios (id, nombre) VALUES ('', '$usuario')');
if ($nuevoUsuario) {echo 'Se guardó la reserva.';}
else {trow new Exception();}
}
catch(Exception $e) {
echo 'No se pudo guardar la reserva! '. $e->getCode() . ' ' . $e->getLine() . ' ' .$e->getFile() . ' ' .$e->getTrace();
}

}

function __destruct(){
$this->pdo = null;
}
}

//creamos el objeto sala
$x = new Sala(10);
$x->getButacas();
echo '<br><br>';

?>
<form action="" method="POST">
<h2>Nueva reserva</h2>
Nombre: <input type="text" name="usuario"><br>
<input type="submit" name="submit">
</form>

<?php

if($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['usuario']) {$x->addUsuario($_POST['usuario']);}
else {echo 'Debe ingresar un nombre';}
}

Спасибо за ваше понимание!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]