Senza entrare nel merito, tanto di ciò che fa quanto di come lo fa (tipo perché la piva non è un campo univoco nel DB? perchè c'è sempre 22 come codice cliente?...), se mi fossi trovato a scrivere una cosa di questo tipo
, avrei probabilmente scritto:
Codice PHP:
/**
* Visualizzazione di una paginetta HTML di base con personalizzazione
* del titolo, contenuto e possibilità di refresh a nuova pagina
*
* @param String $title Titolo della pagina
* @param String $content Contenuto HTML della pagina
* @param String $refreshTo URL a cui saltare dopo $numSec secondi
* @param String $numSec Tempo di attesa prima del salto automatico in secondi
*/
function ShowSimplePage($title,$content,$refreshTo=null, $numSec=5){
$refresh=(!is_null($refreshTo))?"<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"$numSec\"; URL=\"$refreshTo\">":'';
echo <<<EOD
<html>
<head>
<title>$title</title>
$refresh
</head>
<body>
<h1>$title</h1>
$content
</body>
</html>
EOD;
}
/**
* Procedura di visualizzazione errore ed interruzione dello script
* @param string $content Contenuto della pagina
* @param String $title Titolo della pagina
*/
function ShowError($content, $title="Pagina di Errore!"){
ShowSimplePage($title, $content);
exit();
}
function ProcessForm($values) {
//Inizializzazione varibili e connessione DB
$title = "Insert Page";
$content = "Thank you!";
//Do per scontato che i $values siano stati assoggettati ad una mysql_real_escape_string()
$sqlTrova = "SELECT * FROM cliente WHERE piva='{$values['piva']}'";
$sqlIns = "INSERT INTO cliente (codcliente, piva) VALUES ('22','{$values['piva']}')";
$con = mysql_connect("localhost", "lory", "lory") or ShowError('Could not connect: ' . mysql_error());
mysql_select_db("quased", $con) or ShowError('Could not select DB: ' . mysql_error());
//Elaborazione
$res = mysql_query($sqlTrova, $con) or ShowError('Error: ' . mysql_error());
if (!mysql_num_rows($res)) //Se la piva non è utilizzata
mysql_query($sqlIns, $con) or ShowError('Error: ' . mysql_error());
else
$content = "Attenzione azienda inserita esistente";
ShowSimplePage($title, $content, "clienti.php");
//Rilascio risorse
mysql_close($con);
}