64 lines
2.0 KiB
PHP
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();
|