Sto veramente impazzendo...quello che dovrebbe essere un codice normalissimo e semplicissimo si sta rivelando un mistero...
Scrissi questo codice qualche giorno fa e, al momento in cui lo testai, funzionava.
Ora l'ho preso in mano di nuovo e non funziona più!!!!
Mi spiego...in sostanza dovrebbe inserire una news in una tabella di un database MySQL.
Se la news contiene allegata anche un'immagine, questo script estrae dal database l'ultimo id, aggiunge 1 e fa l'upload dell'immagine nominandola come l'id della news.
Il problema nasce qui...non so perchè mi estrae sempre id=1
e come se non bastasse, ogni tanto mi dice anche che le variabili $id e $percorso_immagine non sono definite 0.0
Lavoro in locale su EasyPHP, con PHP 5.3 e MySQL 5.1.
I file session.php e config.php contengono solo i codici di connessione al db e autenticazione.
Codice PHP:
<?php
include("session.php");
$autore = @$_SESSION['utente'];
$titolo = @$_POST['titolo'];
$testo = @$_POST['testo'];
if(isset($titolo) && isset($testo)) {
include("config.php");
if(is_uploaded_file($_FILES['immagine']['tmp_name'])) {
$ext = substr($_FILES['immagine']['name'], strrpos($_FILES['immagine']['name'], ".")+1);
if(!in_array($ext, $img_enabled_ext)) {
die("Il file selezionato non è un formato consentito
[url='javascript:history.go(-1)']TORNA INDIETRO[/url]");
}
$size_limit = $img_size_limit*1024;
if($_FILES['immagine']['size']>$size_limit && $img_size_limit!=0) {
die("L'immagine inserita supera le dimensioni consentite ($img_size_limit KB)
[url='javascript:history.go(-1)']TORNA INDIETRO[/url]"); }
list($width, $height, $type, $attr) = getimagesize($_FILES['immagine']['tmp_name']);
if($width>$img_width_limit && $img_width_limit!=0) {
die("L'immagine inserita supera le dimensioni consentite ($img_width_limit x $img_height_limit)
[url='javascript:history.go(-1)']TORNA INDIETRO[/url]");
}
if($height>$img_height_limit && $img_height_limit!=0) {
die("L'immagine inserita supera le dimensioni consentite ($img_width_limit x $img_height_limit)
[url='javascript:history.go(-1)']TORNA INDIETRO[/url]");
}
$query_for_id = "SELECT id FROM news LIMIT 0,1";
$result = mysql_query($query_for_id);
$vettore = mysql_fetch_array($result);
$id = $vettore['id']+1;
echo $id;
$percorso_immagine = $_SERVER['DOCUMENT_ROOT'].$upload_dir.$id.".".$ext;
if(!move_uploaded_file($_FILES['immagine']['tmp_name'], $percorso_immagine)) {
die("Errore durante il caricamento dell'immagine. Controllare la cartella di destinazione
[url='javascript:history.go(-1)']TORNA INDIETRO[/url]");
}
}
$ora = date("H:i:s");
$data = date("j/n/Y");
$query_to_insert = "INSERT INTO news (autore, titolo, testo, immagine, data, ora) VALUES ('$autore', '$titolo', '$testo', '$percorso_immagine', '$data', '$ora')";
if(mysql_query($query_to_insert)) {
echo "
La news è stata inserita correttamente.
[url='news.php?id=$id']VAI ALLA NEWS[/url]
[url='admin.php']VAI AL PANNELLO AMMINISTRAZIONE[/url]
";
}
else
echo "Errore durante l'inserimento della news nel database.
[url='javascript:history.go(-1)']TORNA INDIETRO[/url]";
die;
}
?>