ciao a tutti,
sono nuovo e parecchio inesperto su questi linguaggi e volevo chiedervi un aiuto su un form che sto scrivendo.
avendo preso spunto da vari articoli trovati, immagino avrò commesso errori sacrileghi e spero possiate indicarmeli.
sostanzialmente ho creato un form html per raccogliere dati che dapprima vengono controllati tramite javascript (i campi necessari e il formato della mail), dopo di che se corretti vengono inviati ed elaborati da un file php per inviarli via mail
vi copio qui i codici (sono lunghi, scusate), forse l'errore sta nel dove inserisco il codice java, ma non saprei.
vi ringrazio moltissimo in anticipo per qualsiasi aiuto possiate darmi.
QUESTO è QUEL CHE C'è NEL BODY HTML:
codice:
<div id="container">
<div id="content">
<FORM name="modulo" method="post">
<table width="400" border="0" class="Stile2">
<tr>
<td width="200" align="right">* Nome e Cognome
del richiedente</td>
<td colspan="2"><input name="nome_cognome" type="text" size="30"></td>
</tr>
<tr>
<td width="200" align="right">* Telefono</td>
<td colspan="2"><input name="telefono" type="text" size="30"></td>
</tr>
<tr>
<td width="200" align="right">* Carica ricoperta</td>
<td colspan="2"><select name="carica" size="1">
<option></option>
<option>amministratore</option>
<option>consigliere</option>
<option>impresa/costruttore</option>
<option>condomino</option>
<option>altro</option>
</select></td>
</tr>
<tr>
<td colspan="3"></td>
</tr>
<tr>
<td width="200" valign="top" align="right">La richiesta nasce da:</td>
<td colspan="2">
<input type="checkbox" name="per_disservizi" value="si"> Frequenti disservizi
<input type="checkbox" name="per_valutazione_economica" value="si"> Valutazione economica
<input type="checkbox" name="per_difficolta_assistenza" value="si"> Difficoltà di assistenza
<input type="checkbox" name="per_altro" value="si"> Altro
</td>
</tr>
<tr>
<td colspan="3"></td>
</tr>
<tr>
<td width="200" align="right">Luogo di ubicazione dell'impianto:</td>
<td colspan="2"></td>
</tr>
<tr>
<td width="200" align="right">* Città</td>
<td colspan="2"><input name="luogo_citta" type="text" size="30"></td>
</tr>
<tr>
<td width="200" align="right">* Indirizzo </td>
<td colspan="2"><input name="luogo_indirizzo" type="text" size="30"></td>
</tr>
<tr>
<td width="200" align="right">Scala</td>
<td colspan="2"><input name="luogo_scala" type="text" size="5"></td>
</tr>
<tr>
<td width="200" align="right">* Intestazione offerta </td>
<td colspan="2"><input name="intestazione" type="text" size="30"></td>
</tr>
<tr>
<td width="200" align="right">* Numero di piani serviti
(compreso piano terra)</td>
<td colspan="2"><input name="numero_piani_serviti" type="text" size="5"></td>
</tr>
<tr>
<td width="200" align="right">Attuale manutentore dell'impianto</td>
<td colspan="2"><input name="manutentore_attuale" type="text" size="30"></td>
</tr>
<tr>
<td width="200" align="right">Scadenza impegno
contrattuale in corso</td>
<td colspan="2"><input name="scad_contrattuale_incorso" type="text" size="30"></td>
</tr>
<tr>
<td width="200" align="right">Indirizzo e-mail</td>
<td colspan="2"><input name="email" type="text" size="30"></td>
</tr>
<tr>
<td width="200" align="right" valign="top">Eventuale messaggio</td>
<td colspan="2"><textarea name="messaggio" cols="22" rows="5"></textarea></td>
</tr>
<tr>
<td width="200" align="right">(* campi obbligatori)</td>
<td colspan="2"></td>
</tr>
<tr>
<td width="200"></td>
<td width="50"><input type="button" value="invia" onClick="Modulo()"></td>
<td><input name="name" type="reset" value="cancella"></td>
</tr>
<tr>
<td width="200" align="right"></td>
<td colspan="2"></td>
</tr>
</table>
<script language="javascript">
<!--
function Modulo(){
// Variabili associate ai campi del modulo
var nome_cognome = document.modulo.nome_cognome.value;
var telefono = document.modulo.telefono.value;
var carica = document.modulo.carica.value;
var per_disservizi = document.modulo.per_disservizi.value;
var per_valutazione_economica = document.modulo.per_valutazione_economica.value;
var per_difficolta_assistenza = document.modulo.per_difficolta_assistenza.value;
var per_altro = document.modulo.per_altro.value;
var luogo_citta = document.modulo.luogo_citta.value;
var luogo_indirizzo = document.modulo.luogo_indirizzo.value;
var luogo_scala = document.modulo.luogo_scala.value;
var intestazione = document.modulo.intestazione.value;
var manutentore_attuale = document.modulo.manutentore_attuale.value;
var numero_piani_serviti = document.modulo.numero_piani_serviti.value;
var scad_contrattuale_incorso = document.modulo.scad_contrattuale_incorso.value;
var email = document.modulo.email.value;
var messaggio = document.modulo.messaggio.value;
// Variabile per la validità del formato email
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
//Effettua il controllo sul campo nome e cognome
if ((nome_cognome == "") || (nome_cognome == "undefined")) {
alert("Il campo Nome e cognome è obbligatorio.");
document.modulo.nome_cognome.focus();
return false;
}
//Effettua il controllo sul campo telefono
else if ((telefono == "") || (telefono == "undefined")) {
alert("Il campo Telefono è obbligatorio.");
document.modulo.telefono.focus();
return false;
}
//Effettua il controllo sul campo carica
else if ((carica == "") || (carica == "undefined")) {
alert("Il campo Carica ricoperta è obbligatorio.");
document.modulo.carica.focus();
return false;
}
//Effettua il controllo sul campo città
else if ((luogo_citta == "") || (luogo_citta == "undefined")) {
alert("Il campo Città è obbligatorio.");
document.modulo.luogo_citta.focus();
return false;
}
//Effettua il controllo sul campo indirizzo
else if ((luogo_indirizzo == "") || (luogo_indirizzo == "undefined")) {
alert("Il campo Indirizzo è obbligatorio.");
document.modulo.luogo_indirizzo.focus();
return false;
}
//Effettua il controllo sul campo intestazione
else if ((intestazione == "") || (intestazione == "undefined")) {
alert("Il campo Intestazione offerta è obbligatorio.");
document.modulo.intestazione.focus();
return false;
}
//Effettua il controllo sul campo numero di piani serviti
else if ((numero_piani_serviti == "") || (numero_piani_serviti == "undefined")) {
alert("Il campo Numero di piani serviti è obbligatorio.");
document.modulo.numero_piani_serviti.focus();
return false;
}
//Effettua il controllo che il formato della mail sia valido
else if (!email_reg_exp.test(email)) {
alert("L'indirizzo email inserito non ha un formato valido.");
document.modulo.email.select();
return false;
}
//INVIA IL MODULO
else {
document.modulo.action = "send1.php";
document.modulo[].submit();
}
}
//-->
</script>
</FORM>
</div>
</div>
E QUESTO è IL FILE send1.php:
Codice PHP:
<?php
$recipient="mailprova@gmail.com";
$subject="Richiesta info per manutenzione impianto";
$nome_cognome=$_POST["nome_cognome"];
$telefono=$_POST["telefono"];
$carica=$_POST["carica"];
$per_disservizi=$_POST["per_disservizi"];
$per_valutazione_economica=$_POST["per_valutazione_economica"];
$per_difficolta_assistenza=$_POST["per_difficolta_assistenza"];
$per_altro=$_POST["per_altro"];
$intestazione=$_POST["intestazione"];
$luogo_citta=$_POST["luogo_citta"];
$luogo_indirizzo=$_POST["luogo_indirizzo"];
$luogo_scala=$_POST["luogo_scala"];
$numero_piani_serviti=$_POST["numero_piani_serviti"];
$manutentore_attuale=$_POST["manutentore_attuale"];
$scad_contrattuale_incorso=$_POST["scad_contrattuale_incorso"];
$email=$_POST["email"];
$messaggio=$_POST["messaggio"];
{
$resto = "\n";
$resto = $resto . "Richiedente: " . $nome_cognome . "\n";
$resto = $resto . "Telefono: " . $telefono . "\n";
$resto = $resto . "Carica: " . $carica . "\n";
$resto = $resto . "Intestazione: " . $intestazione . "\n";
$resto = $resto . "Città: " . $luogo_citta . "\n";
$resto = $resto . "Indirizzo: " . $luogo_indirizzo . "\n";
$resto = $resto . "Scala: " . $luogo_scala . "\n";
$resto = $resto . "Numero piani serviti: " . $numero_piani_serviti . "\n";
$resto = $resto . "Manutentore attuale: " . $manutentore_attuale . "\n";
$resto = $resto . "Scadenza contratto: " . $scad_contrattuale_incorso . "\n";
$resto = $resto . "Indirizzo e-mail: " . $email . "\n";
$resto = $resto . "\nMessaggio: \n" . $messaggio . "\n\n";
$resto = $resto . "IP: " . $REMOTE_ADDR . "\n";
$resto = $resto . "HOST: " . $REMOTE_HOST . "\n";
}
$headers .= "Return-path: " . $_POST["email"];
$headers="";
$headers .= "From: " . $intestazione . " <" . $email . ">\n";
mail($recipient, $subject, $resto, $headers);
?>