• Home
  • Forum
  • Fare Web
  • PHP

Form non parte l'allegato....

  • Creatore Discussione Creatore Discussione MAX1972
  • Data di inizio Data di inizio 5 Mag 2012
  • Tag Tag
    attachment phpmailler
M

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
  • 5 Mag 2012
  • #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("mia@mail.it");
$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
 
M

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
  • 7 Mag 2012
  • #2
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.044
150
63
PR
www.borgo-italia.it
  • 7 Mag 2012
  • #3
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
 
M

MAX1972

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

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 7 Mag 2012
  • #5
ciao
si al post dell'llegato
 
M

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
  • 7 Mag 2012
  • #6
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...
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

M
form php non parte
  • maria
  • 16 Dic 2009
  • PHP
  • 2
Risposte
20
Visite
5K
PHP 22 Dic 2009
alessandro1997
G
campo non presente nel form
  • Gae
  • 7 Mag 2024
  • Javascript
Risposte
2
Visite
3K
Javascript 8 Mag 2024
Gae
G
D
Form contatti non funzionante
  • Di Napoli Andrea
  • 18 Gen 2022
  • HTML e CSS
Risposte
0
Visite
1K
HTML e CSS 18 Gen 2022
Di Napoli Andrea
D
$_FILE non passa i dati dal form
  • otto9due
  • 3 Nov 2021
  • PHP
Risposte
1
Visite
976
PHP 3 Nov 2021
otto9due
A
Problema, non so, di scale() o transform, oppure altro?
  • Anonimo000
  • 5 Giu 2021
  • HTML e CSS
Risposte
0
Visite
2K
HTML e CSS 5 Giu 2021
Anonimo000
A
Button non funziona nella form
  • Alex_70
  • 30 Mag 2020
  • PHP
Risposte
2
Visite
1K
PHP 30 Mag 2020
Alex_70
K
La pagina index, si apre sul form e non al top page
  • Koichi93
  • 5 Gen 2020
  • Javascript
Risposte
0
Visite
1K
Javascript 5 Gen 2020
Koichi93
K
[PHP] Preservare i campi del form solo se l'invio non ha successo
  • Cosina
  • 31 Dic 2018
  • PHP
Risposte
5
Visite
2K
PHP 17 Gen 2019
macus_adi
C
[PHP] Campo facoltativo del form che non deve risultare nella risposta se negativo
  • categio
  • 2 Nov 2017
  • PHP
Risposte
6
Visite
3K
PHP 15 Nov 2017
zorro
M
Perché Javascript non mi valida questo form?
  • mrluke
  • 28 Ago 2017
  • Javascript
Risposte
0
Visite
1K
Javascript 28 Ago 2017
mrluke
M
Dati form non riconosciuti mysql
  • trattorino
  • 21 Ago 2017
  • PHP
  • 2
Risposte
37
Visite
3K
PHP 22 Ago 2017
trattorino
A
form prenotazione: variabile non richiamata
  • arval
  • 1 Giu 2017
  • jQuery
Risposte
2
Visite
1K
jQuery 6 Giu 2017
marino51
B
[Javascript] funzioni non funzionanti in un form
  • bear666
  • 25 Mar 2017
  • Javascript
Risposte
8
Visite
2K
Javascript 28 Mar 2017
bear666
B
P
[HTML] Passaggio Url tramite Form non funziona più
  • publi88
  • 26 Nov 2016
  • HTML e CSS
Risposte
8
Visite
3K
HTML e CSS 30 Nov 2016
publi88
P
dopo la richiesta ajax il bottone del form non si disabilita
  • gandalf1959
  • 26 Ott 2016
  • Ajax
Risposte
5
Visite
2K
Ajax 29 Ott 2016
gandalf1959
[PHP] form con select che non invia dati se con apostrofo
  • asevenx
  • 8 Ago 2016
  • PHP
Risposte
4
Visite
4K
PHP 10 Ago 2016
borgo italia
[PHP] Non riesco a far passare i dati con i form
  • SimooRu
  • 3 Ago 2016
  • PHP
Risposte
4
Visite
2K
PHP 4 Ago 2016
zorro
C
[PHP] Upload immagine in un form con target _blank: non funziona
  • Ciakko
  • 29 Giu 2016
  • PHP
Risposte
7
Visite
2K
PHP 2 Lug 2016
Ciakko
C
J
Ciao ho bisogno di capire, perché questo form non funziona più sul sito
  • Jennifer.Jennifer
  • 12 Set 2015
  • ASP.NET
Risposte
0
Visite
2K
ASP.NET 12 Set 2015
Jennifer.Jennifer
J
D
form mail non funzionante
  • dv79
  • 1 Apr 2015
  • PHP
Risposte
1
Visite
1K
PHP 2 Apr 2015
marino51
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?