Ciao a tutti.
Sto cercando di far funzionare questo "semplice" script con dei campi da inserire su un db mysql e una foto da uploadare.
Allego parte dello script (nella realtà è molto più complesso perchè comprende molti più campi da inserire nel db).
Tutto funziona perfettamente, tranne l'upload della foto.
Ho testato lo script di upload senza il modulo per l'inserimento nel db e funziona, quando vado a inserirlo sullo script che segue l'upload non va.
Codice:
<?php
error_reporting(E_ALL);
if ($_POST) {
procedi();
}
else {
form();
}
function procedi()
{
require_once('connections/connessione.php');
// Upload image
$path = "";
$res = copy($HTTP_POST_FILES['file1']['tmp_name'], $path .
$HTTP_POST_FILES['file1']['name']); // questo singolo script da solo funziona
// recupero i campi di tipo "stringa"
$cap = trim($_POST['cap']);
// preparo la query
$query = "INSERT INTO tabella_annunci (cap) VALUES ('$cap')";
// invio la query
$result = mysql_query($query);
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// chiudo la connessione a MySQL
mysql_free_result($result);
mysql_close();
$messaggio = urlencode("Inserimento effettuato con successo");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
}
function form()
{
// mostro messaggio
if(isset($_GET['msg']))
echo ''.htmlentities($_GET['msg']).'
';
?>
<form action="prova.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input name="cap" type="text" id="cap">
Cap
<input name="file1" type="file" id="file1">
<input type="submit" name="Submit" value="Invia">
</form>
<?php
}
?>
La cosa strana è che (da quello che so) per fare l'upload bisogna utilizzare una form con metodo POST...e leggendo lo script sembra sia così, ma non so per quale arcano mistero non funziona.
E' possibile che l'if in cima alla pagina dia qualche problema?
Grazie per qualsiasi aiuto possiate darmi.
bye