Ciao a tutti. Mi sono permesso di inserire questa domanda anche in Php, visto che potrebbe essere risolta con entrambe le metodologie, e visto che il codice è ibrido. Spero che questo non violi il regolamento del forum.
Devo realizzare un form invio mail con controllo dei dati e più di un allegato.
Fino ad oggi per l'invio email avevo usato questo form con controllo dati, ma senza la possibilità di inviare allegati.

Codice PHP:
<?php 
 
$FriendName 
$_POST['FriendName']; 
$FriendEmail $_POST['FriendEmail']; 
$Nome $_POST['Nome']; 
$Cognome $_POST['Cognome']; 
$Anni $_POST['Anni']; 
$Professione $_POST['Professione']; 
$Email $_POST['Email']; 
$Commento $_POST['Commento']; 
$massimo 500
$string $_SERVER['QUERY_STRING']; 
 
?> 
<html><head> 
<script language="JavaScript" type="text/JavaScript"> 
<!-- 
function MM_findObj(n, d) { //v4.01 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
  if(!x && d.getElementById) x=d.getElementById(n); return x; 

 
function MM_validateForm() { //v4.0 
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; 
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); 
    if (val) { nm=val.name; if ((val=val.value)!="") { 
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); 
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve contenere un indizzo Email valido.\n'; 
      } else if (test!='R') { num = parseFloat(val); 
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; 
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); 
          min=test.substring(8,p); max=test.substring(p+1); 
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; 
    } } } else if (test.charAt(0) == 'R') errors += '- Il campo '+nm+'  necessario.\n'; } 
  } if (errors) alert('Si sono verificati i seguenti errori:\n'+errors); 
  document.MM_returnValue = (errors == ''); 

//--> 
</script> 
<style type="text/css"> 
<!-- 
body{  
   overflow:hidden  
   } 
.Stile2 {color: #FF0000; text-align:} 
.Stile3 { 
    font-size: 12px; 
    font-family: Arial; 

.Stile5 { 
    color: #FFFFFF; 
    font-size: 2px; 

</style> 
 
<script type="text/javascript"> 
var massimo = 700; 
window.onload = function() 

    document.form1.conta.value = massimo; 

function ContaCaratteri() 

    document.form1.conta.value = massimo - document.form1.Commento.value.length; 
    if (document.form1.Commento.value.length > massimo) 
    { 
        document.form1.Commento.value = document.form1.Commento.value.substr(0, massimo); 
        document.form1.conta.value = 0; 
        alert("Massimo " + massimo + " caratteri!"); 
    } 
 

</script> 
 
 
</head> 
<body> 
<?php 
if (!$FriendEmail) { 
?> 
<form name="form1" onSubmit="MM_validateForm('Nome','','R','Anni','','R','Email','','RisEmail','FriendName','','R','FriendEmail','','RisEmail','Commento','','R');return document.MM_returnValue" action="" method="POST"> 
<div align="center"> 
<table width="647" border="0" cellspacing="0" cellpadding="3"> 
  <tr> 
    <td align="right" valign="top"></td> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td><div align="right" class="Stile3">I campi <span class="Stile2">*</span> sono obbligatori </div></td> 
  </tr> 
  <tr>  
    <td width="178" align="right" valign="top"></td> 
    <td width="5"><font face="Verdana" size="2"></font></td> 
    <td width="108"><font face="Verdana" size="2">Nome:<span class="Stile2">*</span></font></td> 
    <td width="108"><font face="Verdana" size="2">Cognome:</font></td> 
    <td width="192"><font face="Verdana" size="2">Et:<span class="Stile2">*</span></font></td> 
  </tr> 
  <tr>  
    <td align="right" valign="top"><font face="Verdana" size="2">[b]I tuoi dati :[/b]</font></td> 
    <td></td> 
    <td><font face="Verdana"><input type="text" name="Nome" size="18"><font size="2"></font></font></td> 
    <td><font face="Verdana"><input type="text" name="Cognome" size="18"><font size="2"></font></font></td> 
    <td><font face="Verdana"> 
      <input type="text" name="Anni" size="4"> 
      <font size="2"></font></font></td> 
  </tr> 
  <tr> 
    <td align="right" valign="top"></td> 
    <td></td> 
    <td width="108"><font face="Verdana" size="2">Professione:</font></td> 
    <td><font face="Verdana" size="2">E-mail:<span class="Stile2">*</span></font></td> 
    <td></td> 
  </tr> 
  <tr> 
    <td align="right" valign="top"></td> 
    <td></td> 
    <td><font face="Verdana"> 
      <input type="text" name="Professione" size="18"> 
      <font size="2"></font></font></td> 
    <td colspan="2"><font face="Verdana"><input type="text" name="Email" size="30"></font></td> 
    </tr> 
  <tr>  
    <td align="right" valign="top"><font face="Verdana" size="2">[b]Il tuo commento:[/b]</font></td> 
    <td></td> 
    <td colspan="3" valign="top">  
      <font face="Verdana"> 
      <textarea name="Commento" cols="56" rows="6" style="font-family: Trebuchet MS; font-size: 10pt" onKeyUp="ContaCaratteri()"></textarea> 
      <span class="Stile2">*</span>      </font></td> 
  </tr> 
  <tr>  
    <td align="right"></td> 
    <td><font face="Verdana" size="2"> </font> </td> 
    <td colspan="2">  
      <div align="left"><font face="Verdana"><font size="2"> </font> </font>    <font face="Verdana"> 
        <input type="text" size="4" name="conta" readonly> 
      </font><font face="Verdana" size="2">Caratteri rimanenti </font></div></td> 
    <td></td> 
  </tr> 
  <tr> 
    <td colspan="5" align="right" class="Stile5">.</td> 
    </tr> 
  <tr> 
    <td align="right"></td> 
    <td></td> 
    <td><font face="Verdana"> 
      <input type="submit" value="Invia" name="Submit"> 
    </font></td> 
    <td></td> 
    <td></td> 
  </tr> 
  <tr> 
    <td align="right"></td> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td></td> 
  </tr> 
  <tr> 
    <td align="right"></td> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td></td> 
  </tr> 
  <tr> 
    <td align="right" valign="top"><font face="Verdana" size="2">[b]Stai scrivendo a:[/b]</font></td> 
    <td></td> 
    <td><font face="Verdana"> 
      <input type="text" name="FriendName" size="18" value="Redazione Terr&agrave;" readonly=""> 
      <font size="2"> </font> </font> </td> 
    <td colspan="2"><font face="Verdana"> 
      <input type="text" name="FriendEmail" size="32" value="lamiaemail@gmail.com" readonly=""> 
      <font size="2" ></font></font></td> 
  </tr> 
</table> 
</div> 
</form> 
<?php 

else { 
if (
$FriendEmail) { mail$FriendEmail"Messaggio da $Nome"$FriendName,  \n\n".$Commento ."\n\n$Nome"." "."$Cognome"." "."$Anni"." anni"." "."$Professione""From: $Email");  
 
  } 
 
 
echo 
"<center>

<font face=Verdana size=2>Grazie <font color=red>
$Nome</font>.  Il tuo commento sar pubblicato previa supervisione della redazione. 

[url='java-script:window.close();']Chiudi questa finestra[/url]</font>"


?> 


</p> 
</body> 
</html>