- Home
- Categorie
- Coding e Sistemistica
- PHP
- Form Php con Upload
-
Form Php con Upload
Salve...sono nuovo di questo forum...e sono nuovo anche per quanto riguarda il linguaggio Php...
Con l'aiuto di qualche sito qua e la sono riuscito a fare il codice per un form...
E' sorta la necessità di fare in modo che tramite questo possano essere uppati anche dei file..però non so come procedere..ho avuto dei consigli..ma com'è fatto ora non va...
chi mi saprebbe aiutare?
il form php è questo:<?
$dir = "Files/";
// get posted data into local variables
$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']));
if (is_uploaded_file($_FILES['File']['tmp_name'])){
if (move_uploaded_file($_FILES['File']['tmp_name'],$dir.$_FILES['File']['name'])) {
$File = "http://www.mondonotte.net/".$dir.$_FILES['File']['name'];
}}
// validation
$validationOK=true;
if (Trim($Username)=="") $validationOK=false;
if (Trim($Titolo)=="") $validationOK=false;
if (Trim($Email)=="") $validationOK=false;
if (Trim($Commento)=="") $validationOK=false;
if (Trim($File)=="") $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 .= $File;
$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/">";
}
?>il form che corrisponde alla pagina html invece è questo:
<form method="POST" action="http://www.mondonotte.net/Video/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>
</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>
</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>
</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">
<!--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"> </font><input type="hidden" name="MAX_FILE_SIZE" value="100000" /><font size="2">
Seleziona il file da inviare: </font> <input name="File" type="file" size="25" /><font size="2"><br />
</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">
</font></font>
</form>Grazie in anticipo
-
nessuno sa aiutarmi?
-
che errore ti da
-
mi manda alla pagina errore quando controlla se esiste il file in quanto il file non viene spostato nella cartella che dico io...
disabilitando il controllo di esistenza del file il form spedisce la mail..ma ovviamente il file non c'è..
-
ma devi inviare il file che cerchi uplodare come allegato dell'email
-
no in pratica lo deve prendere dalla cartella dei file temporanei e spostarlo sul server...in email mi arriva solo il link del file che starà sul mio sito
-
La sintassi per caricare un file è questa:
$percorso = $_FILES['miofile']['tmp_name'];
$nome = $_FILES['miofile']['name'];
$cartella = 'news/';if (move_uploaded_file($percorso, $cartella . $nome)){
echo"ok";
}else{
echo"error";
}
-
spiegami una cosa..io questo form lo tengo in una pagina che sta in una cartella tipo: www.sito.ext/a/b/index.htm
se come directory metto 'c/'; mi segna www.sito.ext/c/ oppure www.sito.ext/a/b/c/???
-
la seconda
-
niente..non va..non riesco a capire perchè la funzione move uploaded file non va...ho anche dato il premesso di scrivere sulla cartella...
ma può essere che la versione di php è vecchia e la funzione non esiste? ma se fosse così..non dovrebbe darmi errore?
xxx
non è che potresti mandarmi un form fatto da te che funziona sicuramente? almeno provo a modificare quello e vedo se va..
-
<form method=post action="send_photo.php" enctype="multipart/form-data">
<input type=file name=file class=testo size=50>
<input type=submit value=invia>questo form funziona sicuro cmq postami i due file che te li controllo
-
il form.php è quello che leggi su...la pagina sta qua:
http://www.mondonotte.net/Video/Popup/fammi sapere
grazie
-
molto probabilmente è il name="File" sull'input file, utilizza le lettere minuscole con la sintassi che ti ho inviato
-
non vaaaaaaaaa
il form.php che uso ora è questo:
<?
$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']));
$percorso = $_FILES['file']['tmp_name'];
$nome = $_FILES['file']['name'];
$cartella = 'Files/';
if (move_uploaded_file($percorso, $cartella . $nome)){
echo"ok";
}else{
echo"error";
}
//$Filename = $_FILES ['file'] ['name'];
//$Filetemp = $_FILES ['file'] ['tmp_name'];
//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/">";
}
?>quindi nella mail il link non deve arrivare..però comunque controllando nella cartella non viene messo il file.....
ma perchèèèèèèèèèè?!?!?!?! eppure dovrebbe funzionare!!!!
-
$cartella = 'Files/';
stesso discorso a linux potrebbe crere problemi
-
niente..non va..
il percorso però è tutto con le maiuscole iniziali..non è che devo cambiarle?
mondonotte.net/Video/Popup/files/in popup sta il form html con la pagina php
devo cambiare tutto?
-
@lilfo said:
niente..non va..
il percorso però è tutto con le maiuscole iniziali..non è che devo cambiarle?
mondonotte.net/Video/Popup/files/Se il server è unix/linux i nomi dei files sono case-sensitive,quindi la differenza tra maiuscole e minuscole conta.
Ciao!
-
vabeh ma anche se conta mica influisce sul form php? mah...