Allora io ho un form il quale inserisce i dati dentro il database e fa l'upload di una immagine in una cartella.
questo è il form:
codice:
<form action="elabora.php" method="post" enctype="multipart/form-data">
TITOLO:
<input name="title" type="text">
</p>
DESCRIZIONE:
<input name="desc" type="text" value="" size="30" />
</p>
IMMAGINE: max 721x201 - 50kb
<input type="file" name="image" size="40" />
</p>
CATEGORIA:
<select name="cat" id="select">
<option value="1" selected>print</option>
<option value="2">brand</option>
<option value="3">multimedia</option>
<option value="4">experiment</option>
</select>
</p>
LINK: (facoltativo)
<input name="link" type="text">
</p>
<input type="reset" name="Reset" id="button" value="Reset">
<input type="submit" name="Submit" id="Submit" value="Submit">
</p>
</form>
e questa è la pagina elabora.php
Codice PHP:
<?
include "config.inc.php";
$title = $_POST['title'];
$desc = $_POST['desc'];
$image = $_FILES['image']['name'];
$cat = $_POST['cat'];
$link = $_POST['link'];
$connection = mysql_connect($db_host,$db_user,$db_pass);
if (!$connection)
{
die('[url="javascript:history.back()"]Torna Indietro[/url]
Impossibile connettersi: ' . mysql_error());
}
$db = mysql_select_db($db_name, $connection);
//INSERISCO I DATI NEL DATABASE
$sql = "INSERT INTO $db_table SET Id='Null', Title='$title', Descrizione='$desc', Image='$image', Cat='$cat', Link='$link'";
if (!mysql_query($sql,$connection))
{
die('[url="javascript:history.back()"]Torna Indietro[/url]
Errore: ' . mysql_error());
}
echo "OK, inserito correttamente
";
mysql_close($connection);
//ORA CARICO IL FILE SUL SERVER
do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 50 KB
if ($_FILES['image']['size'] > 50000) {
$msg = "
Il file non deve superare i 50 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 721x201
if (($width > 721) || ($height > 201)) {
$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 gia un file con lo stesso nome
// In alternativa potrei dare io un nome che sia funzione della data e dell'ora
if (file_exists('works/'.$_FILES['image']['name'])) {
$msg = "
File gi‡ esistente sul server. Rinominarlo e riprovare.</p>";
break;
}
// Sposto il file nella cartella da me desiderata
if (!move_uploaded_file($_FILES['image']['tmp_name'], 'works/'.$_FILES['image']['name'])) {
$msg = "
Errore nel caricamento dell'immagine!!</p>";
break;
}
}
} while (false);
echo $msg = "Caricato con sucesso
";
echo "<a href=\"javascript:history.back()\">Torna Indietro</a>";
?>
la query nel database è perfetta, funziona tutto, non mi da nessun errore...ma l'upload?? non va... mi viene fuori il messaggio "Caricato con successo" ma non viene caricato nessun file, sia in locale che in remoto. Da cosa dipende? :master: