casadoc/public/userportal/delete-home.php
2024-12-03 10:33:38 +01:00

64 lines
2.0 KiB
PHP

<?php
// Abilita la visualizzazione degli errori (solo per sviluppo, disabilitare in produzione)
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include('include/headscript.php');
// Connessione al database
$conn = new mysqli($servername, $username, $password, $database);
// Verifica connessione
if ($conn->connect_error) {
die("Errore di connessione: " . $conn->connect_error);
}
// Verifica se l'ID della casa è stato passato tramite GET
if (isset($_GET['idhome']) && is_numeric($_GET['idhome'])) {
$idhome = (int)$_GET['idhome'];
// Avvia la transazione per gestire l'eliminazione di record correlati
$conn->begin_transaction();
try {
// Elimina i documenti associati nella tabella `doc_storage`
$stmtDocs = $conn->prepare("DELETE FROM doc_storage WHERE idhome = ?");
$stmtDocs->bind_param('i', $idhome);
$stmtDocs->execute();
$stmtDocs->close();
// Elimina le condivisioni associate nella tabella `home_sharing`
$stmtSharing = $conn->prepare("DELETE FROM home_sharing WHERE idhome = ?");
$stmtSharing->bind_param('i', $idhome);
$stmtSharing->execute();
$stmtSharing->close();
// Elimina la casa dalla tabella `home`
$stmtHome = $conn->prepare("DELETE FROM home WHERE idhome = ?");
$stmtHome->bind_param('i', $idhome);
$stmtHome->execute();
$stmtHome->close();
// Conferma la transazione
$conn->commit();
// Reindirizza alla lista delle case con un messaggio di successo
header("Location: homes-list.php?success=1");
exit();
} catch (Exception $e) {
// Annulla la transazione in caso di errore
$conn->rollback();
// Reindirizza con un messaggio di errore
header("Location: homes-list.php?error=1");
exit();
}
} else {
// Reindirizza se l'ID non è valido
header("Location: homes-list.php?error=1");
exit();
}
$conn->close();