Prova cosi:
Codice PHP:
<? include("top_foot.inc.php");
include("config.inc.php");
top();
if ($pass != $password) /*controllo della password*/
{
echo "Password errata";
}
/*grazie alla funzione TRIM togliamo gli spazi vuoti dalla stringa ricevuta , quindi riconosciamo e non accettiamo stringhe composte da soli spazi e senza contenuto informativo*/
elseif (trim($titolo) == "" OR trim($testo) == "")
{
echo "I campi Titolo e Testo devono essere riempiti!";
}
/*mettiamo in escape eventuali caratteri speciali contenuti nelle stringhe*/
else
{
$titolo = addslashes(stripslashes($titolo));
$autore = addslashes(stripslashes($autore));
$mail = addslashes(stripslashes($mail));
$testo = addslashes(stripslashes($testo));
/*la codifica HTML potrebbe crearci problemi in fase di visualizzazione con alcuni caratteri,sostituiamoli con la loro corrispondente codifica HTML ; qui ci occupiamo del carattere < e > , le parentesi acute*/
$titolo = str_replace("<", "<", $titolo);
$titolo = str_replace(">", ">", $titolo);
$autore = str_replace("<", "<", $autore);
$autore = str_replace(">", ">", $autore);
$testo = str_replace("<", "<", $testo);
$testo = str_replace(">", ">", $testo);
$testo = nl2br($testo);
/*con la funzione mktime convertiamo data in formato TIMESTAMP*/
$data = mktime("0", "0", "0", $mese, $giorno, $anno);
/*connessione al db*/
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$query1 = "INSERT INTO news (titolo, testo, data, nome) VALUES ('$titolo', '$testo', '$data', '$autore')";
$query2 = "INSERT IGNORE INTO autori (nome, mail) VALUES ('$autore', '$mail')";
if (mysql_query($query1, $db) AND mysql_query($query2, $db)) {
echo "L'articolo è stato inserito correttamente";
}
else {
echo "Erorre durante l'inserimento $query";
}
}
foot();
?>