Upload Form PHP

lilfo

Nuovo Utente
30 Giu 2007
11
0
0
Salve...ho creato un form che da la possibilità di uppare files...

ed è il seguente:

<?
$EmailFrom = Trim(stripslashes($_POST['Email']));
$EmailTo = "[email protected]";
$Subject = "Music";
$Username = Trim(stripslashes($_POST['Username']));
$Titolo = Trim(stripslashes($_POST['Titolo']));
$Commento = Trim(stripslashes($_POST['Commento']));
$Filename = $_FILES ['File'] ['name'];
$Filetemp = $_FILES ['File'] ['tmp_name'];
if (is_uploaded_file($Filename)) {
if (move_uploaded_file($Filetemp, "Files/$Filename")) {
$Filelink = "http://www.mondonotte.net/Video/Files/".$Filename;
}}
// validation
$validationOK=true;
if (Trim($Username)=="") $validationOK=false;
if (Trim($Titolo)=="") $validationOK=false;
if (Trim($Email)=="") $validationOK=false;
if (Trim($Commento)=="") $validationOK=false;
if (file_exists ($Filelink)) {
$validationOK=true;
} else { $validationOK=false;
}
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=http://www.mondonotte.net/Video/Errore/\">";
exit;
}

// prepare email body text
$Body = "";
$Body .= "User: ";
$Body .= $Username;
$Body .= "\n";
$Body .= "Titolo: ";
$Body .= $Titolo;
$Body .= "\n";
$Body .= "E-mail: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Commento: ";
$Body .= $Commento;
$Body .= "\n";
$Body .= "Link File: ";
$Body .= $Filelink;
$Body .= "\n";

// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=http://www.mondonotte.net/Video/Ok/\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=http://www.mondonotte.net/Video/Errore/\">";
}
?>

Facendo varie prove ho notato che a non funzionare sono i due if con i comandi "is_uploaded_file" e "move_uploaded_file"

tutto il resto funziona bene
qualcuno sa aiutarmi?

Grazie
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Che errore visualizzi? In ogni caso prova ad usare copy() invce di move_uploaded_file.
 

lilfo

Nuovo Utente
30 Giu 2007
11
0
0
ho già provato ma non va...
non visualizzo nessun errore nel php...
semplicemente non mi sposta il file..e quindi facendo il controllo con file_exists mi rimanda alla pagina errore....

non riesco proprio a capire quale sia l'errore....
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Tieni conto che già di per sè il tuo codice è scorretto perchè stai associando variabili ad indici non definiti (il tuo register_global è in of o in on?).
Postami per cortesia il codice del form di invio.
 

lilfo

Nuovo Utente
30 Giu 2007
11
0
0
allora puoi aiutarmi un pò a correggerlo? ti avviso che io sto codice l'ho scritto perndendo spunto qua e la...io so poco e niente di php :book:

ecco a te:
<form method="POST" action="http://www.mondonotte.net/Video/Popup/form.php" enctype="multipart/form-data">

<p align="center"><font face="Courier New" size="2">Username:</font><font face="Courier New"><font size="2"><br>
&nbsp;</font><span style="font-size: 8pt"><font face="Verdana"><!--webbot bot="Validation" s-display-name="Username" s-data-type="String" b-allow-letters="TRUE" b-allow-digits="TRUE" b-value-required="TRUE" i-maximum-length="20" --><input type="text" name="Username" size="20" maxlength="20"></font></span><font size="2">
</font>
</font>
</p>
<p align="center"><font face="Courier New" size="2">Titolo:</font><font face="Courier New"><font size="2"><br>
&nbsp;</font><span style="font-size: 8pt"><font face="Verdana"><!--webbot bot="Validation" s-display-name="Password" s-data-type="String" b-allow-letters="TRUE" b-allow-digits="TRUE" b-value-required="TRUE" i-maximum-length="20" --><input name="Titolo" size="20" maxlength="20"></font></span><font size="2">
</font>
</font>
<p align="center"><font face="Courier New" size="2">E-mail:</font><font face="Courier New"><font size="2"><br>
&nbsp;</font><span style="font-size: 8pt"><font face="Verdana"><!--webbot bot="Validation" s-display-name="Email" b-value-required="TRUE" --><input type="text" name="Email" size="20"></font></span><font size="2">
</font>
</font>
<p align="center">
<font face="Courier New" size="2">Breve commento:</font><p align="center"><font face="Verdana"><span style="font-size: 8pt">
<font face="Courier New">
&nbsp;<!--webbot bot="Validation" b-value-required="TRUE" i-minimum-length="2" i-maximum-length="300" --><textarea name="Commento" rows="4" cols="27"></textarea></font></span></font><p align="center">
<font face="Courier New"><font size="2">&nbsp;</font><input type="hidden" name="MAX_FILE_SIZE" value="500000000" /><font size="2">
Seleziona il file da inviare: </font>
<input type=file name=file class=testo size=25><font size="2"><br />
&nbsp;</font></font><p align="center"><font face="Courier New">
<span style="font-size: 8pt">
<input type="submit" name="Invia" value="Invia"></span><font size="2">&nbsp;
</font></font>
</form>
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
andiamo con ordine:
1) il codice del form è eccessivo per un modulo così piccolo, formattalo solo con i CSS e non usare il tag font, ormai è deprecato
2) Se chiami un campo di input "file" chiama anche il parametro nello stesso modo (ad ed $_FILES ['file'] ['name'] e non $_FILES ['File'] ['name']), non usare maiuscole e minuscole a caso
3) Non dichiarare variabili se non sei sicuro che vengano valorizzate; quindi non
PHP:
$Username = trim(stripslashes($_POST['Username']));
ma:
PHP:
if(isset($_POST['Username'])){$Username = "etc..";}
4) Non usare "is_uploaded_file", non ne hai bisogno se effettui il controllo sugli input, passa direttamente a move_uploaded_file.
 

lilfo

Nuovo Utente
30 Giu 2007
11
0
0
ma queste se non sbaglio dovrebbero essere piccolezze...forse apparte gli if alla dichiarazione delle variabili...

comunque ho provato senza is uploaded file e ho messo solo così:

if (move_uploaded_file($percorso, $cartella . $nome)){
echo"ok";
}else{
echo"error";
}

ma mi da sempre error...perchè??
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Bhe non proprio piccolezze :), ad esempio su Linux variabili scritte prima in minuscolo e poi in maiuscolo non vengono riconosciute come identiche.

Ti da errore però l'upload avviene giusto?
 

lilfo

Nuovo Utente
30 Giu 2007
11
0
0
si si il fatto delle maiuscole e minuscole l'ho corretto...

comunque mi da errore e non invia nemmeno...se lo inviava mi dava ok...
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Il fatto che il tuo codice l'ho testato (con le correzioni) e invia correttamente, ma stampa comunque l'errore.
Questo perchè contolli tutto con if + la stessa variabile e non sai mai da quale variabile viene l'errore.
 

lilfo

Nuovo Utente
30 Giu 2007
11
0
0
e non è che potresti inviarmi il codice php e il form corretti?

per sto fatto dell'errore vedo un pò di risolverlo io..almeno questo dovrei saperlo fare..
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
allora non ho fatto altro che mettere tutte le iniziali in minuscolo ed eliminare il controllo if con is_uploaded_file.
Se lavori in remoto su Linux ricordati di impostare i permessi sulla cartella di destinazione.
Nel form ho usato un percorso relativo per l'action.
 

lilfo

Nuovo Utente
30 Giu 2007
11
0
0
cos'è il percorso relativo per l'action??

dai...io sto form nemmeno so come l'ho fatto...c'era un programma in internet che faceva i form in automatico...di php non ne capisco molto...visto che l'hai già fatto non potresti fare un semplice copia e incolla?

per favore...te ne sarei davvero grato...

:angel:
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Perchè invece di uppare non correggi il codice con le indicazioni che ti ho dato e me lo posti (magari ripulito da tutto quell'HTML)?
 

lilfo

Nuovo Utente
30 Giu 2007
11
0
0
perchè non so dove mettere le mani...la pagina html l'ho fatta con front page e non so scrivere direttamente in html...

non so cosa significa usare un percorso relativo per l'action

io pensavo che lo tenessi salvato visto che l'avevi provato e che potevi incollarlo qua....
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Questo forum server per imparare, non per copiare e incollare, per capire la differenza tra un percorso relativo e uno assoluto basta una semplice ricerca su Google.
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [PHP] Validare form prenotazione appuntamento tattoo con upload image PHP 0
C [PHP] Upload immagine in un form con target _blank: non funziona PHP 7
K [PHP] multi upload immagine da form PHP 60
L Passare ad uno script PHP i dati di un form incluso l'upload di un'immagine Ajax 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M [ASP] Upload file da form controllo Classic ASP 5
L upload + textarea + checkbox in un form multiplo Javascript 7
xone Form con campi input text e upload file PHP 4
D [C#] Upload tramite form sul mio OneDrive ASP.NET 1
M Adattare script di "form mail con upload file" al mio form mail HTML! PHP 7
ivarello Form Che avvia upload e controllo automatico PHP 1
helpdesk Formattare form Upload HTML e CSS 2
M [ajax] Upload immagini in un form multistep Ajax 0
I Upload immagini senza form PHP 12
RedWolf Upload, isset e campi form vuoti PHP 3
A Upload file senza form PHP 2
A Form upload immagini PHP 15
X form con upload allegati PHP 0
M Upload immagine con javascript problemi con FormData() Javascript 1
Z Upload protetto e sicuro PHP 1
L Modifica file upload in ASP Classic ASP 2
Cosina Upload multiplo con invio allegati per email PHP 0
Cosina Upload multiplo con archiviazione in cartella PHP 16
P Script upload immagini jQuery 0
L upload image tramite url e cache PHP 10
W Non fa l'upload PHP 0
L Upload di un'immagine all'interno di un database usando php PHP 6
S Upload file senza doverlo selezionare PHP 2
P Upload foto cover e profilo jQuery 0
G Upload file error Apache 0
R Modifica codice per l'upload di più file PHP 0
S [PHP] Upload stesso file PHP 14
max1974 [Javascript] dropzone upload to server Javascript 0
S [ASP.Net] [ASP] Upload Image ASP.NET 6
F [PHP] Informazioni upload PHP 11
G [PHP] upload file in server: percorso cartella PHP 2
M Upload 4 file php PHP 11
D [PHP] Upload intera cartella PHP 2
felino [PHP] Uploadify: upload immagini PHP 0
M [PHP] Nome file, upload e rinominare PHP 2
R Configurazione upload ftp su dvr IP Cam e Videosorveglianza 3
M [PHP] upload di un file esistente overwrite PHP 1
N [PHP] Test per l'upload di file attraverso un bot Telegram PHP 2
L [PHP] problema con upload e javascript (upload multiplo) Javascript 2
L [PHP] upload con errore PHP 2
V [PHP] Upload Excel in db PHP 0
jailbait [PHP] Upload immagine e stampa a schermo PHP 0
G PHP upload dati ed immagine PHP 7
D [PHP] Upload encrypt image PHP 0

Discussioni simili