Salve,
Premetto che non sono esperta. Ho un problema con questo file. Funziona tutto tranne il caricamento immagine che non viene copiata nč su mysql nč avviene l'upload
Questo č il pezzo del form interessato:
Codice HTML:
<input type=\"file\" size=\"40\" name=\"image\" />"
Questo invece č il file successivo di invio ( ho tolto alcuni pezzi superflui per non stancarvi con pezzi di codice giā funzionanti
Codice PHP:
<?php
require_once ("config.php");
do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 18 KB
if ($_FILES['image']['size'] > 584320) {
$msg = "
Il file non deve superare i 580 KB!</p>";
break;
}
// Ottengo le informazioni sull'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
// Controllo che le dimensioni (in pixel) non superino 180x125
if (($width > 800) || ($height > 800)) {
$msg = "
Dimensioni non corrette!!</p>";
break;
}
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
if (($type!=1) && ($type!=2) && ($type!=3)) {
$msg = "
Formato non corretto!!</p>";
break;
}
// Verifico che sul sul server non esista giā un file con lo stesso nome
if (file_exists('upload_img/'.$_FILES['image']['name'])) {
$msg = "
File giā esistente sul server. Rinominarlo e riprovare.</p>";
break;
}
// Sposto il file nella cartella da me desiderata in questo caso upload_img
if (!move_uploaded_file($_FILES['image']['tmp_name'], 'upload_img/'.$_FILES['image']['name'])) {
$msg = "
Errore nel caricamento dell'immagine!!</p>";
break;
}
}
} while (false);
echo $msg;
// richiamo il file di configurazione
switch ($action)
{
case 1: // Inserimento News
// per prima cosa dichiariamo le varibili ed assegnamo a queste un valore nullo
$title="";
$text="";
$image="";
$publish="";
$publish_data="";
$unpublish_data="0";
$title=htmlentities($_POST['new_title'], ENT_QUOTES); //se giā non č stato fatto dall'editor tinymce provvediamo a rendere innocuo quanto postato
$text=htmlentities($_POST['new_news'], ENT_QUOTES); //se giā non č stato fatto dall'editor tinymce provvediamo a rendere innocuo quanto postato
$image=$_FILES['image']['name']
$publish=$_POST['publish'];
$publish_data=htmlentities (str_replace("/","-",$_POST['publish_data']), ENT_QUOTES); // trasformiamo le barrette in trattini
// a questo punto possiamo inviare i nostri dati al Db per creare il nuovo record relativo alla news appena inserita.
$sql="INSERT INTO news (title, text, publish, publish_data, unpublish_data) VALUES ('$title', '$text', '$publish', '$publish_data', '$unpublish_data')";
$query=@mysql_query($sql) or die (mysql_error());
header("Location:admin.php?msg=insert"); // tornando alla pagina inviamo il messaggio di avvenuto inserimento
}
break;
case 2: // estrazione news per modifica
//per estrarre una news ci basta avere il suo id, dichiariamo ed assegnamo un valore nullo alla variabile per prima cosa
$id="";
//quindi recuperiamo il valore ottenuto tramite GET o POST
$id=$_REQUEST['id'];
// ed estraiamo il record che ci interessa
$sql="SELECT * FROM news WHERE id='$id'";
$query=@mysql_query($sql) or die (mysql_error());
$modify=mysql_fetch_array($query); // popoliamo infine l'array $modify con i campi del record ottenuto, l'array verrā utilizzato nella pagina admin.php
break;
case 3: // Cancella news
// per cancellare una news l'unica cosa che ci serve č il suo id, per prima cosa dichiariamo la variabile ed assegnamo a questa un valore nullo
$id="";
$id=$_POST['id']; // recuperiamo il suo valore e passiamo alla canellazione
$sql="DELETE FROM news WHERE id='$id'";
$query=@mysql_query($sql) or die (mysql_error());
if ($query)
{
header("Location:admin.php?msg=cancel"); //se la query č andata a buon fine torniamo alla pagina dando conferma di cancellazione
}
break;
case 4: // Modifica news
//effettuate le modifiche alla nostra news bisogna aggiornare i campi relativi a quello specifico record
//dichiariamo le variabili ed assegnamo loro un valore nullo
$id="";
$title="";
$text="";
$publish="";
$publish_data="";
$unpublish_data="0";
// passiamo quindi a recuperare i nuovi valori ottenuto dal form
$id=$_POST['id'];
$title=htmlentities($_POST['new_title'], ENT_QUOTES); // se giā non ha provveduto tinymce a rendere innocuo il testo ci pensiamo noi
$text=htmlentities($_POST['new_news'], ENT_QUOTES);// se giā non ha provveduto tinymce a rendere innocuo il testo ci pensiamo noi
$publish=$_POST['publish'];
$image=$_POST['image'];
$publish_data=str_replace("/","-",$_POST['publish_data']);// trasformiamo la data, se giā non lo č, nel formato 00-00-0000
$unpublish_data=str_replace("/","-",$_POST['unpublish_data']);
//adesso che tutti i campi sono pronti per l'invio al Db, passiamo ad aggiornare i campi relativi a questa news
$sql="UPDATE news SET title='$title', text='$text', image='$image', publish='$publish', publish_data='$publish_data', unpublish_data='$unpublish_data' WHERE id='$id'";
$query=@mysql_query($sql) or die (mysql_error());
header("Location:admin.php?msg=modify"); // e torniamo alla pagina inviando l'indice del messaggio di avvenuta modifica
}
break;
case 5: // il logout
$_SESSION['user']=0;
session_unset();
session_destroy();
header("Location:login.php");
break;
}
?>