PROBLEMA Strano problema con semplice form

simoneim

Nuovo Utente
28
0
CPU
Intel Core 2 Duo E4300
Scheda Madre
Acer fg965m
HDD
500 mb
RAM
4,9 gb
GPU
GeForce 7500
Monitor
LG 22" 1920x1080
Case
In affitto ma prima o poi compro!
OS
Windows 7 Ultimate
Ciao a tutti volevo chiedervi un parere riguardo a queste segnalazioni nel file error del mio sito e di cui non ne vengo a capo.
Riguardano un semplice form di raccolta dati (4 campi obbligatori) ed invio a indirizzo mail.
Mi causa problemi gravi in quanto dopo ogni tanto per sicurezza il servizio mail viene disattivato se qualcuno scrive dal sito gli da errore.
Pirma avevo un form con un check dei dati obbligatori in php che dava molti più errori ora ne ho messo uno in js e all'inizio non dava errori ma oggi si è ripresentato il problema.
Allora gli errori nel file di log sono 2 tipi:
Undefined index: nome (input da compilare) in /home/miosito/public_html/inviomail.php on line (dalla linea 106 alla linea 123)
Undefined variable: messaggio (text area facoltativa) in /home/miosito/public_html/inviomail.php on line 139 (solo sulla linea 139)
Le linee di codice in questione sono:
PHP:
<?php
linea 106 $nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$email=$_POST['email'];
$cell=$_POST['cell'];
$eta=$_POST['eta'];
$genitore=$_POST['genitore'];
$regione=$_POST['regione'];
$citta=$_POST['citta'];
$cap=$_POST['cap'];
$provincia=$_POST['provincia'];
$sesso=$_POST['sesso'];
$altezza=$_POST['altezza'];
$occhi=$_POST['occhi'];
$capelli=$_POST['capelli'];
$book=$_POST['book'];
$settore=$_POST['settore'];
$occupazione=$_POST['occupazione'];
linea 123 $note=$_POST['note'];
$to = "mailaziendale.it";
$messaggio.="$nome ha inviato un messaggio da Google. 
I suoi dati sono:\n
Nome: $nome\n
Cognome: $cognome\n
Email: $email\n
Cellulare: $cell\n
Eta: $eta Genitore: $genitore\n
Regione: $regione Citta: $citta\n
Cap: $cap Provincia: $provincia\n
Sesso: $sesso\n
Altezza: $altezza Occhi: $occhi\n
Capelli: $capelli\n
Book: $book Settore: $settore\n
Occupazione attuale: $occupazione\n
linea 139 Note: $note\n ";
if (mail($to,"$cognome $nome",$messaggio,"From: $email\n")) {
echo "Candidatura inviata correttamente, grazie $nome!";
} else {
echo "Si &egrave; verificato un problema. Non preoccuparti, inviaci Nome Cognome Cellulare ed Et&agrave; a:mailaziendale.it. Grazie.";
}
?>
Forse sembra potrebbe dipendere da questa riga:
PHP:
if (mail($to,"$cognome $nome",$messaggio,"From: $email\n")) {
in quanto dice credo (se la mail è composta da cognome nome e messaggio) ma se nel messaggio uno non scrive un parametro forse viene a mancare questa variabile?

Diciamo da come sembra a me, dia un errore se si lascia un campo vuoto, in realtà i campi obbligatori su cui effettua il controllo sono solo 4 Nome Cognome Cellulare ed Età.
Il form funziona bene ma in realtà sotto sotto da registra questo errore.
Il controllo del modulo è il seguente:
Codice:
<script type="text/javascript">
function controllo(){
with(document.modulo) {

if(nome.value=="") {
alert("Errore: compilare il campo NOME");
nome.focus();
return false;
}
if(cognome.value=="") {
alert("Errore: compilare il campo COGNOME");
cognome.focus();
return false;
}
if(cell.value=="") {
alert("Errore: compilare il campo CELLULARE");
cell.focus();
return false;
}
if(eta.value=="") {
alert("Errore: compilare il campo ETA'");
eta.focus();
return false;
}
}

return true;
}
</script>

Sapete come potrei rimediare?
Grazie mille ciao a tutti!
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!