casadoc/public/userportal/save-owner.php
2024-09-20 21:21:35 +02:00

129 lines
5.2 KiB
PHP

<?php
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 della connessione
if ($conn->connect_error) {
die("Connessione fallita: " . $conn->connect_error);
}
// Recupera l'id utente loggato dalla sessione
$iduserlogin = intval($_SESSION['iduserlogin']);
// Recupera i dati inviati tramite POST
$owner_id = isset($_POST['owner_id']) ? intval($_POST['owner_id']) : 0;
$owner_type = isset($_POST['owner_type']) ? $conn->real_escape_string($_POST['owner_type']) : '';
$first_name = !empty($_POST['first_name']) ? $conn->real_escape_string($_POST['first_name']) : null;
$last_name = !empty($_POST['last_name']) ? $conn->real_escape_string($_POST['last_name']) : null;
$company_name = !empty($_POST['company_name']) ? $conn->real_escape_string($_POST['company_name']) : null;
$tax_code = isset($_POST['tax_code']) ? $conn->real_escape_string($_POST['tax_code']) : '';
$email = isset($_POST['email']) ? $conn->real_escape_string($_POST['email']) : '';
$phone = !empty($_POST['phone']) ? $conn->real_escape_string($_POST['phone']) : null;
$address = !empty($_POST['address']) ? $conn->real_escape_string($_POST['address']) : null;
$postal_code = !empty($_POST['postal_code']) ? $conn->real_escape_string($_POST['postal_code']) : null;
$city = !empty($_POST['city']) ? $conn->real_escape_string($_POST['city']) : null;
$province = !empty($_POST['province']) ? $conn->real_escape_string($_POST['province']) : null;
$country = isset($_POST['country']) ? intval($_POST['country']) : null; // Converti country in intero
$role = !empty($_POST['role']) ? $conn->real_escape_string($_POST['role']) : null;
$owner_type = isset($_POST['owner_type']) ? $conn->real_escape_string($_POST['owner_type']) : 'individual'; // Default to 'individual'
// Verifica se stiamo aggiungendo un nuovo proprietario o aggiornando uno esistente
if ($owner_id > 0) {
// Aggiorna il proprietario esistente
$query = "UPDATE property_owners
SET owner_type = ?, first_name = ?, last_name = ?, company_name = ?, tax_code = ?, email = ?, phone = ?, address = ?, postal_code = ?, city = ?, province = ?, country = ?, role = ?
WHERE owner_id = ? AND user_id = ?";
$stmt = $conn->prepare($query);
if ($stmt === false) {
die("Errore nella preparazione della query: " . $conn->error);
}
// Imposta i valori nulli per i campi facoltativi
$company_name = !empty($company_name) ? $company_name : null;
$role = !empty($role) ? $role : null;
// Binding dei parametri
$stmt->bind_param(
'ssssssssssssiis', // Formato corretto
$owner_type, // s (string)
$first_name, // s (string)
$last_name, // s (string)
$company_name, // s (string, può essere null)
$tax_code, // s (string)
$email, // s (string)
$phone, // s (string)
$address, // s (string)
$postal_code, // s (string)
$city, // s (string)
$province, // s (string)
$country, // i (intero)
$role, // s (string, può essere null)
$owner_id, // i (intero)
$iduserlogin // i (intero)
);
// Esegui la query
if ($stmt->execute()) {
// Reindirizza a manage-owner.php dopo il successo
header("Location: person-list.php");
exit();
} else {
die("Errore nell'aggiornamento: " . $stmt->error);
}
// Inserisci un nuovo proprietario
$query = "INSERT INTO property_owners
(user_id, owner_type, first_name, last_name, company_name, tax_code, email, phone, address, postal_code, city, province, country, role)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($query);
if ($stmt === false) {
die("Errore nella preparazione della query: " . $conn->error);
}
$company_name = !empty($company_name) ? $company_name : null;
$role = !empty($role) ? $role : null;
// Binding dei parametri
$stmt->bind_param(
'isssssssssssis', // Formato: 2 interi, 12 stringhe
$iduserlogin, // i (user_id)
$owner_type, // s (owner_type)
$first_name, // s (first_name)
$last_name, // s (last_name)
$company_name, // s (company_name)
$tax_code, // s (tax_code)
$email, // s (email)
$phone, // s (phone)
$address, // s (address)
$postal_code, // s (postal_code)
$city, // s (city)
$province, // s (province)
$country, // i (country)
$role // s (role)
);
// Esegui la query
if ($stmt->execute()) {
echo "Proprietario salvato con successo.";
// Reindirizza a manage-owner.php dopo il successo
header("Location: person-list.php");
exit(); // Assicurati di terminare l'esecuzione dopo il reindirizzamento
} else {
die("Errore nell'inserimento o aggiornamento: " . $stmt->error);
}
}
// Chiudi la connessione
$stmt->close();
$conn->close();