Diciamo dal PHP 4.1 ma dipende dal fatto che sia settata o meno la register_globals guarda sta pillola
Cmq ho visto che ci sono un po di variabili che arrivano dal form io farei cosi, per nn stravolgere lo script, cosi rimangono le variabili originali
Codice PHP:
<?
$pass=$_POST['pass'];
$titolo= $_POST['titolo'];
e tutte le altre variabili. data mese giorni ecc..
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();
?>