Form non parte l'allegato....

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
Ciao a tutti...Di seguito (più avanti) metterò i codici x un form che ho fatto in html e poi le proprietà PHP per il funzionamento di quel form...Funziona tutto regolarmente tranne il fatto che l'allegato che voglio far partire non arriva indicandomi un errore....questo:
Warning: move_uploaded_file(attachments/FATT.MAX.doc) [function.move-uploaded-file]: failed to open stream: Permission denied in D:\Inetpub\webs\miositocom\invia.php on line 10

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\upload\php6A37.tmp' to 'attachments/FATT. MAX.doc' in D:\Inetpub\webs\miositocom\invia.php on line 10
Email inoltrata correttamente

NB= la riga 10 la potete vedere benissimo nella sorgente della proprietà PHP la quale non capisco dove stia l'anomalia ecco perche' sto chiedendo aiuto.

Volendo però, avrei trovato la soluzione proprio qui sul vostro sito in un tutorial che spiegava come fare un form con allegato però con alcune limitazioni che per la mia utilità mi penalizza per ciui io ho cercato di fondere le 2 cose facendo solo un gran casino...In poche parole dal fom proposto da voi QUI il form e soprattutto l'allegato mi arriva senza problemi solo che questo non ha la convalida degli spazi di compilazione cosa che a me servono...Poi ho porvato ad aggiungere altri campi che (nel vostro) form non sono stati messi ma non ricevo la risposta nella mail che mi arriva nonostante io cerchi di impostare le properieta' nel modo piu' corretto che riesco visto che non sono esperto di linguaggi di programmazione per cui ho applicato fino ad ora solo pillole prese in qua e in la....Per cui la mia domanda e' questa:

Qualcuno potrebbe aiutarmi a fare in modo che il mio form abbia le caratteristiche per quanto riguarda l'invio del allegato (che nel caso del vostro form mi arriva tranquillamente)? oppure fare in modo che il Form preso dal vostro sito abbia le caratteristiche di quello fatto da me con le voci name, phone, request, email, e la spunta per la privacy con la possibilita' di rendere i campi obbligatori?

Qui metto la rorgente html del mio form:

Codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="javascript">
function verifica(){
name="";
phone="";
email="";
request="";
spunta="";
if(document.TheForm.email.value==""){
email="Enter your e-mail\n";
document.TheForm.email.focus();
}else if(document.TheForm.email.value.lastIndexOf("@")==-1 || document.TheForm.email.value.lastIndexOf(".")==-1){
email="Insert valid e-mail\n";
document.TheForm.email.focus();
}
if(document.TheForm.request.value==""){
request="Insert request\n";
document.TheForm.request.focus();
}
if(document.TheForm.name.value==""){
name="Enter your name\n";
document.TheForm.name.focus();
}
if(document.TheForm.phone.value==""){
phone="Insert phone\n";
document.TheForm.phone.focus();
}
if(document.TheForm.spunta.checked==false){
spunta="Check for continue\n";
}
error="ERROR MISSING DATA\n";
if((spunta!="")||(email!="")||(name!="")||(phone!="")||(request!="")){
alert(error+name+phone+email+request+spunta)
return false;
}
}
</script>
</head>
<html>
<body>
<td width="123">&nbsp;</td>
  </tr>
  <tr> 
    <td height="114"></td>
    <td></td>
  </tr>
</table>
<table width="289" border="0" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
  <tr> 
    <td width="289" height="464" valign="top"> <form method="post" enctype="multipart/form-data" action="invia.php" name="TheForm" id="TheForm" onSubmit="return verifica();">
        <p>name and surname<br>
          <input name="name" type="text" id="name">
          <br>
          phone <br>
          <input name="phone" type="text" id="phone">
          <br>
          e-mail<br>
          <input name="email" type="text" id="email">
          <br>
          request<br>
          <textarea name="request" rows="3" id="request"></textarea>
          <br>
          <br>
          attachments<br>
          <input type="file" name="attachment">
          <br>
          <br>
          privacy <br>
          <textarea name="privacy" id="privacy">privacy.........................</textarea>
          <br>
          <br>
          <input name="spunta" type="checkbox" id="spunta" value="tuodato">
          I agree </p>
        <p> 
          <input type="submit" name="Submit" value="send">
        </p>
    </form></td>
  </tr>
</table>
</body>
</html>

Mentre qui metto la proprietà PHP:
PHP:
<?php
//Percorso dove raccoglieremo gli allegati
$path = "attachments/";
//Nome e Cognome
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$message = $_POST['message'];
//Upload dell'allegato
move_uploaded_file($_FILES['attachment']['tmp_name'], $path.$_FILES['attachment']['name']);
//Messaggio
$subject = "Questa Email contiene un allegato";
$bodymail = "Name: ".$name." <br />
			  Phone: ".$phone." <br />
			  Email: ".$email." <br />
			  Message: <br /> ".$request." <br />";
//Inclusione della libreria
require_once("phpmailer/class.phpmailer.php");
//Creiamo un oggetto PHPMailer e ne settiamo le variabili
$mail = new PHPMailer();
$mail->From = $email;
$mail->FromName = $name." ".$surname;
$mail->AddAddress("[email protected]");
$mail->IsHTML(true); 
$mail->Subject = $subject;
$mail->Body = $bodymail;
if($mail->AddAttachment($path.$_FILES['attachment']['name'])){
	//Inviamo l'email
	if($mail->Send()){
		echo "Email inoltrata correttamente";		
	}else{
		echo "Errore invio mail";
	}
}else{
	echo "Errore allegato";
}
?>

Spero di essere stato chiaro e soprattutto spero nel aiuto di qualcuno per risolvere questa cosa che ormai mi porto dietro da un po' di tempo e la cosa inizia ad essere frustrante soprattuto per il fatto che praticamente sono arrivato ad un passo dalla soluzione ma non so come fare questo passo....Premetto che non sono esperto per cui chiedo cortesemente di avere pazienza rendendo eventuali risposte comprensibili....Per i piu' navigati ogni risposta risulta banale ma per chi come me che ha nozioni veramente superficiali tutto diventa un ostacolo....Grazie ancora per l'attenzione.

Saluti
 

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
Ciao a tutti...Dopo qualche giorno nessuno mi ha saputo purtroppo aiutare in questo problema....forse ho sposto qualcosa di troppo complesso, all'apparenza, inserendo una marea di codici e facendo fuggire chi apriva la pagina del post (eheheheheh)....o probabilmente mi sono spiegato male creando un po' di incomprensioni...O forse perche', e' anche normale, (nessuno e' obbligato a rispondere per cui ne sono consapevole)....comunque voglio credere al fatto che ho fatto un po di confusione per cui cerco di riformulare la richiesta di aiuto cercando di renderla piu' comprensibile e cambiandone l'impostazione...Facciamo che lascio perdere il form da me creato nel primo post e mi concentro su quello postato sul vostro sito per cui fatto da uno di voi ed e' quello che trovate QUI
L'aiuto consiste nel indicarmi se possibile:

1- come fare a rendere i campi obbligatori il quale esce un messaggio di errore in stile pop-up
2-come aggiungo altri campi per poter scrivere altre informazioni? (premetto che so come fare ad aggiungere i campi nel file html) ma non so come integrare le proprieta' nel file php per cui se volessi aggiungere il campo NAME & USERNAME per esempio come dovrei impostarlo nel file php?

Probabilmente mi sto perdendo in un bicchiere d'acqua ma sono settimane che mi scarico file sorgenti di form in giro per il web ma con risultati limitativi....L'unico col quale ricevo gli allegati correttamente e' questo sul vostro sito ma ha limitazioni per quanto riguarda l'uso che ne devo fare io...grazie...:byebye:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per inviare allegati mi sono fatto la seguente funzione

PHP:
<?php
function file_da_allegare($file_nome, $file_tmp){//$_FILES['foto_1']['name'], $_FILES['foto_1']['tmp_name']
	//ricavo il nome del file e del temp cone gli eventuali percorsi
	$nome_file=pathinfo($file_nome, PATHINFO_BASENAME);
	$nome_file_temp=$file_tmp;
	//rivavo il percorso temporaneo con + slash finale
	$cartella_temp=pathinfo($nome_file_temp, PATHINFO_DIRNAME);
	//aggoungo lo slash in funzione del so
	if (strpos($cartella_temp, '/') !== false){
		$cartella_temp.= "/";
	}else{
		$cartella_temp.= "\\";
	}
	//e ricavo il nome del file da allegare con il suo percorso
	$da_allegare=$cartella_temp.$nome_file;
	//uploado e verifico
	if(move_uploaded_file($nome_file_temp, $da_allegare)){
		return $da_allegare;//file caricato in cartella temporanea e nome da indicare a PHPmailler
	}else{
		return FALSE;//c'è stato un errore
	}
}//fine function file da allegare
//........ tutto quello che serve
if($_FILES['foto_1']['name']!=""){//c'è un allegato
			$mail->AddAttachment($allegare);
		}
//... e l'invio.....

?>
comunque per inviare/inviarti allegati DEVI fare altri controlli, non credo che sia piacevole che ti inviino un file del tipo elimina_tutto.exe

p.s.
poi per le altre domande: un argomento un post
 

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
Grazie ma con questa risposta mi stai dando la tua soluzione per risolvere il problema al primo post che ho fatto giusto?
 

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
Allora io ho fatto delle prove ancora sul mio perche' mi accorgo che sto facedno veramente casino...Se metto il form con relativi file php sul mio server per cui lo appoggio ad aruba nel mio caso...e vado a compilare il form gli aggiungo un allegato che vado a pescare nella cartella documenti questo non arriva mentre se vado a pescare l'allegato nella cartella attachments mi arriva l'allegato....Ora qui mi sto scervellando perche' non en capisco il nesso....io dal mio computer potrei prendere un file da allegare in qualunque cartella mentre seguendo il ragionamento del file PHP devo andare a prendere un file solo se e' dentro alla cartella attachments....ma che senso ha...un utente al 5000% non avra' mai una cartella nel suo pc col nome attachment dove prendere i file da allegare solo per farmi un favore...mi spiego nel mio concetto?come posso fare in modo che una persona prenda un file da allegare da dove gli pare sul suo pc?...mi faccio capire oppure sono fuori di testa?ehehehehe...
 
Discussioni simili
Autore Titolo Forum Risposte Data
M form php non parte PHP 20
D Form contatti non funzionante HTML e CSS 0
otto9due $_FILE non passa i dati dal form PHP 1
Alex_70 Button non funziona nella form PHP 2
K La pagina index, si apre sul form e non al top page Javascript 0
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
C [PHP] Campo facoltativo del form che non deve risultare nella risposta se negativo PHP 6
M Perché Javascript non mi valida questo form? Javascript 0
trattorino Dati form non riconosciuti mysql PHP 37
A form prenotazione: variabile non richiamata jQuery 2
B [Javascript] funzioni non funzionanti in un form Javascript 8
P [HTML] Passaggio Url tramite Form non funziona più HTML e CSS 8
gandalf1959 dopo la richiesta ajax il bottone del form non si disabilita Ajax 5
asevenx [PHP] form con select che non invia dati se con apostrofo PHP 4
SimooRu [PHP] Non riesco a far passare i dati con i form PHP 4
C [PHP] Upload immagine in un form con target _blank: non funziona PHP 7
J Ciao ho bisogno di capire, perché questo form non funziona più sul sito ASP.NET 0
D form mail non funzionante PHP 1
M non ci do fuori con il form mail PHP 1
P invio form non corretto dopo controllo dati PHP 8
M Form html-php, la pagina php non mi rileva la variabile PHP 5
P form che non invia i dati PHP 8
Shyson Un form non aggiorna il codice captcha Javascript 0
A Form Dreamweaver & CO. ...non ce la posso fare! Webdesign e Grafica 6
P Controllare che il form sia composto da soli numeri e non sia vuoto? Javascript 11
J Form non registra i submit Javascript 4
C Problema form javascript che non funziona Javascript 4
F [Risolto] Form di modifica record non riconosce <br> db access Classic ASP 3
F [Risolto] Form non invia a db access caratteri accentati Classic ASP 1
F [Risolto] Form non invia a db access caratteri accentati Classic ASP 16
Shyson Se invio form e c'è errore, form non ritorna a video PHP 0
G form php connesso a database ma non inserisce dati PHP 5
F I dati del form non vengo registrati sul db PHP 4
M form.submit() non funziona con chrome Javascript 8
Eugene Form info non funzionante con Aruba Hosting 3
D script controllo campi form non va su FF Javascript 2
A @$_POST non riceve la variabile input contenuta in un Form PHP 6
asevenx form che non invia al DB un campo PHP 6
1 invio col form non riuscito PHP 11
S passaggio a PHP Version 5.2.6 e la form e mail non funziona piu' PHP 14
S Apertura popup da form che non si può toccare Javascript 1
T FORM MAIL che non mi riesce PHP 18
F form che non invia email Aiuto!!! HTML e CSS 1
S Database - il form di ricerca non funziona Database 1
T FORM PHP; l'email non arriva!!! PHP 2
mythar Button non appartenente al form Javascript 1
L [AJAX] explorer: modulo form non presente nell'html Ajax 0
D Form cha va in firefox non in explorer Javascript 4
S Form a tendina non invia dati PHP 7
C form non arriva email PHP 9

Discussioni simili