Salve ho un problema con il caricamento di un file, premetto che senza modalbox mi funziona benissimo, mentre con la modalbox non riesce a passarmi il file.
L' errore che mi dà è questo:
Notice: Undefined index: uploadfile in C:\Programmi\EasyPHP 2.0b1\www\slam_rappresentanze\admin\motore\upload. php on line 34
Notice: Undefined index: uploadfile in C:\Programmi\EasyPHP 2.0b1\www\slam_rappresentanze\admin\motore\upload. php on line 38
Notice: Undefined index: uploadfile in C:\Programmi\EasyPHP 2.0b1\www\slam_rappresentanze\admin\motore\upload. php on line 38
Impossibile caricare il file
l inserimento del file avviene tramite questo form:
//------------------------------ FORM INSERIMENTO -------------------------------------
<?php include "inclusioni.php"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nuovo Documento</title>
</head>
<body>
<form name="upload_file" method="post" id="formulaire" action="motore/upload.php" enctype="multipart/form-data" onsubmit="return false;">
<table width="500" border="0">
<tr>
<td valign="top"><div align="right">File:</div></td>
<td><input type="hidden" name="MAX_FILE_SIZE" value="15360000" />
<input type="file" name="uploadfile" /></td>
</tr>
<tr>
<td width="61" valign="top"><div align="right">Nome:</div></td>
<td width="429"><input type="text" name ="secondo_nome_file" maxlength="255"/></td>
</tr>
<tr>
<td valign="top"><div align="right">Note:</div></td>
<td><textarea rows="5" name="note_file" cols="20" wrap="hard"></textarea></td>
</tr>
</table>
<center>
<input type="submit" title="Carica Documento" value="Carica" onclick="Modalbox.show('motore/upload.php', {title: this.title, method: 'post', params:Form.serialize('formulaire'), overlayClose: true }); return false;" class="formulaire" />
<input type="button" value="Indietro" onclick= "Modalbox.hide()" name="button">
</center>
</form>
</body>
</html>
//-------------------------------- FINE FORM --------------------------------------------
Mentre il motore che dovrebbe caricare il file è questo:
//-------------------------------- MOTORE UPLOAD --------------------------------------
<?php include "inclusioni.php"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Upload File</title>
</head>
<body>
<?php
$flag = 0;
$secondo_nome_file=addslashes($_POST['secondo_nome_file']);
// utilizzo la funzione strtolower
$secondo_nome_file = strtolower ($secondo_nome_file);
if ($secondo_nome_file == "") {
echo $erroredocumento;
$flag = 1;
}
?>
Indietro
<?php
if ($flag == 0) {
// Mi ricavo la variabile $note_file e $nome_file_nota da carica_file.php
$note_file=addslashes(nl2br($_POST['note_file']));
// assegno il timestamp alla variabile $data_file
$data_file = time();
// controllo che non ci siano stati errori nell'upload (codice = 0)
if ($_FILES['uploadfile']['error'] == 0){
// upload ok
// copio il file dalla cartella temporanea a quella di destinazione cioè la cartella file che si trova nella cartella di slam in www mantenendo il nome originale
copy($_FILES['uploadfile']['tmp_name'], "file/".$_FILES['uploadfile']['name'])
or die( "Impossibile caricare il file");
// Assegno il nome del file ad una variabile che chiamo $nome_file per poi inserire il nome nel database file
$nome_file= $_FILES['uploadfile']['name'];
//echo "
DATA : $data_file";
//echo "
NOTE : $note_file</h4>";
}
else{
// controllo il tipo di errore
if ($_FILES['uploadfile']['error'] == 2){
// errore, file troppo grande (> 15MB)
die("Errore, file troppo grande: il massimo consentito è 15MB");
}
else{
// errore generico
die("Errore, impossibile caricare il file");
}
}
// Query per l' inserimento dei dati del file
$query = "INSERT INTO `file` ( `id_file` , `nome_file` , `note_file` , `data_file` ,
`secondo_nome` )
VALUES ('', '$nome_file', '$note_file', '$data_file', '$secondo_nome_file')";
// Eseguo il controllo per vedere se la query è¨ andata a buon fine
if($result = mysql_query($query)) {
echo "
<center><h2>NUOVO FILE
$secondo_nome_file
AGGIUNTO CON SUCCESSO
!</h2></center>";
?>
<form action="pannello_controllo.php" method="post">
<center><input type="submit" value="OK" /></center>
</form>
<form action="carica_file.php" method="post">
<center><input type="submit" value="Aggiungi altro file" /></center>
</form>
<?php
echo "
<center><h4>Informazioni sul file caricato:
";
echo "Nome file: ".$_FILES['uploadfile']['name']."
";
echo "Dimensione file: ".$_FILES['uploadfile']['size']."
";
echo "Tipo MIME file: ".$_FILES['uploadfile']['type'];
echo "
NOTE :
$note_file</h4></center></h4>";
}
else {
echo "<center><h3>Il nome assegnato al file è gia presente nel database!</center></h3>";
}
}
?>
</body>
</html>
//------------------------------- FINE MOTORE ------------------------------------------
AIUTOOOooo.. !!