errore form di contatto

Cereal_killer

Nuovo Utente
10 Dic 2012
8
0
0
Ciao a tutti ragazzi :D

avrei bisogno il vostro prezioso aiuto. Ho cercato nel forum ma non ho trovato una soluzione e quindi mi affido alle vostre abili menti....premetto che per voi sarà una passeggiata risolvere il problema.

Ho un form php, ma quando ricevo l'e-mail il campo "city" non viene visualizzato e lasciato bianco....sapete dirmi dove ho sbagliato? mi sucso in anticipo per ignoranza e abnormità del post... cazziate permesse :fonzie:
HTML:
<div class="contact"> 
             <div id="message"></div>
                                
            <form method="post" action="contact.php" name="contactform" id="contactform">
            
            <fieldset>
        
            <label for=name accesskey=U><span class="required">*</span>Nome</label>
            <input name="name" type="text" id="name" size="30" value="" /> 
        
            <br />
            <label for=email accesskey=E><span class="required">*</span> E-mail</label>
            <input name="email" type="text" id="email" size="30" value="" />
        
            <br />
            <label for=phone accesskey=P><span class="required">*</span>N° Telefono</label>
            <input name="phone" type="text" id="phone" size="30" value="" />
         <br />
            <label for=city accesskey="L"><span class="required">*</span>Località</label>
            <input name="city" type="text" id="city" size="30" value="" />
        
           <br />
            <label for=subject accesskey=S>Categoria</label>
            <select name="subject" id="subject">
            <option value="Nessuna categoria">Selziona la categoria</option>
              <option value="Abiti sa sposa">Abiti da sposa / Cerimonia</option>
              <option value="Agenzia Immobiliare">Agenzia Immobiliare</option>
               <option value="Altro">Altro</option>
      
              
            </select>
               
            <br />
          <label for=comments accesskey=C><span class="required">*</span>Descrizione dettagliata</label>
            <textarea name="comments" cols="40" rows="3"  id="comments" style="width: 350px;"></textarea>
                            
            <p><span class="required">*</span> Sei un'umano?</p>
                    
            <label for=verify accesskey=V>&nbsp;&nbsp;&nbsp;3 + 1 =</label>
            <input name="verify" type="text" id="verify" size="4" value="" style="width: 30px;" /><br /><br />
        
            <input type="submit" class="submit" id="submit" value="Invia" />
            
            </fieldset>
        
            </form>
PHP:
<?php

if(!$_POST) exit;

// Email address verification, do not edit.
function isEmail($email) { 
	return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));		
}

if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");

$name     = $_POST['name'];
$email    = $_POST['email'];
$phone   = $_POST['phone'];
$city  = $_POST['city'];
$subject  = $_POST['subject'];
$comments = $_POST['comments'];
$verify   = $_POST['verify'];


if(trim($name) == '') {
	echo '<div class="error_message">INSERIRE IL NOME</div>';
	exit();
} else if(trim($email) == '') {
	echo '<div class="error_message">INSERIRE UN INDIRIZZO E-MAIL VALIDO</div>';
	exit();
} else if(trim($phone) == '') {
	echo '<div class="error_message">INSERIRE UN NUMERO DI TELEFONO VALIDO</div>';
	exit();
} else if(!is_numeric($phone)) {
	echo '<div class="error_message">IL NUMERO DI TELEFONO PUO CONTENERE SOLO NUMERI</div>';
	exit();
} else if(!isEmail($email)) {
	echo '<div class="error_message">INSERIRE UN INDIRIZZO E-MAIL VALIDO</div>';
	exit();
}

if(trim($subject) == '') {
	echo '<div class="error_message">INSERIRE UNA CATEGORIA</div>';
	exit();
} else if(trim($comments) == '') {
	echo '<div class="error_message">INSERIRE LA DESCRIZIONE DEL MESSAGGIO</div>';
	exit();
} else if(!isset($verify) || trim($verify) == '') {
	echo '<div class="error_message">INSERISCI IL CODICE DI VERIFICA</div>';
	exit();
} else if(trim($verify) != '4') {
	echo '<div class="error_message">IL NUMERO DI VERIFICA &eGRAVE SBAGLIATO</div>';
	exit();  
}

if(get_magic_quotes_gpc()) {
	$comments = stripslashes($comments);
}


// Configuration option.
// Enter the email address that you want to emails to be sent to.
// Example $address = "[email protected]";

//$address = "[email protected]";
$address = "[email protected]";


// Configuration option.
// i.e. The standard subject will appear as, "You've been contacted by John Doe."

// Example, $e_subject = '$name . ' has contacted you via Your Website.';

$e_subject = 'PREVENTIVI ONLINE - sei stato contattato da ' . $name . '.';


// Configuration option.
// You can change this if you feel that you need to.
// Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
		
$e_body = "Sei stato contattato da: $name, residente a: $city. \r\n Per una richiesta di preventivo relaiva alla categoria: $subject. \r\n Nel messaggio sottostante troverai la descrizione della richiesta" . PHP_EOL . PHP_EOL;
$e_content = "\"$comments\"" . PHP_EOL . PHP_EOL;
$e_reply = "Puoi contattare $name via email, $email o al numero: $phone";
		
$msg = wordwrap( $e_body . $e_content . $e_reply, 70 );

$headers = "From: $email" . PHP_EOL;
$headers .= "Reply-To: $email" . PHP_EOL;
$headers .= "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-type: text/plain; charset=utf-8" . PHP_EOL;
$headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL;

if(mail($address, $e_subject, $msg, $headers)) {

	// Email has sent successfully, echo a success page.
	
	echo "<fieldset>";			
	echo "<div id='success_page'>";
	echo "<h1>E-MAIL INVIATA CON SUCCESSO!</h1>";
	echo "<p>Grazie <strong>$name</strong> &nbsp; Il tuo messaggio verr&agrave; preso in cosiderazione al pi&ugrave; presto</p>";
	echo "</div>";
	echo "</fieldset>";
		 
} else {

	echo 'ERROR!';

}
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
così ad una prima occhiata non ne vedo il motivo, semprerebbe corretto
prova a mettereun var_dump intanto per vedere se il valore viene trasmesso dal form, se non viene trasmesso l'errore è a monte
PHP:
<?php
//...........
$name     = $_POST['name'];
$email    = $_POST['email'];
$phone   = $_POST['phone'];
var_dump($_POST['city'];//poi lo togli
$city  = $_POST['city'];
$subject  = $_POST['subject'];
$comments = $_POST['comments'];
$verify   = $_POST['verify'];
//...........
?>
se viene trasmesso cerchiamo l'errore a valle
posta cosa restituisce il var_dump
 

Cereal_killer

Nuovo Utente
10 Dic 2012
8
0
0
Innanzi tutto ti ringrazio per la risposta :)

anche a mé sembra stranissimo che nella mail non me lo riporta...ci ho perso un sacco di ore...

inserento il codice che mi hai passato nel file php mi dice questo all'invio del form:

Parse error: syntax error, unexpected ';' in /homez.604/preventie/www/contact.php on line 15

non sò se ho fatto quello che intendevi tu...
 

Cereal_killer

Nuovo Utente
10 Dic 2012
8
0
0
Innanzi tutto ti ringrazio per la risposta :)

anche a mé sembra stranissimo che nella mail non me lo riporta...ci ho perso un sacco di ore...

inserento il codice che mi hai passato nel file php mi dice questo all'invio del form:

Parse error: syntax error, unexpected ';' in /homez.604/preventie/www/contact.php on line 15

non sò se ho fatto quello che intendevi tu...

rettifico, il form non da nessun errore..la mail arriva senza problemi, ma il campo city rimane vuoto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
Parse error: syntax error, unexpected ';' in /homez.604/preventie/www/contact.php on line 15
no non c'entra col var_dump quello vuol dire che php trova un ; mal messo (per cause precedenti probabilmente)
dovresi indicare rispetto a quello che hai postato quale è la riga 15.

comunque il var_dump (dato che sembra cu la variabile sia vuota) serve soprattutto per cercare dove è l'errore
se il var_dump ti restituisc NULL l'errore viene prima se ti restituisce string(XY) "città che hai scritto" l'errore è dopo, saputo questo uno cerca prima o dopo il perche la variabile è vuota
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
perche fai tutto quell'ambaradn con il preg_match per verificare l'indirizzo email quando ti basterebbe
PHP:
//....
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    echo '<div class="error_message">INSERIRE UN INDIRIZZO E-MAIL VALIDO</div>';
//....

edit ecco perche l'errore alla 15
mi ero dimenticato una parentesi chiusa nel var_dump
var_dump($_POST['city']);//poi lo togli
 
Ultima modifica:

Cereal_killer

Nuovo Utente
10 Dic 2012
8
0
0
ciao
perche fai tutto quell'ambaradn con il preg_match per verificare l'indirizzo email quando ti basterebbe
PHP:
//....
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    echo '<div class="error_message">INSERIRE UN INDIRIZZO E-MAIL VALIDO</div>';
//....

edit ecco perche l'errore alla 15
mi ero dimenticato una parentesi chiusa nel var_dump
var_dump($_POST['city']);//poi lo togli

avevo notato la dimenticanza e l'ho corretta, inviando il contatto da form mi indica il valore NULL.... l'ambaradan é dovuto al inesperienza :p ... aggiorno e ottimizzo con il tuo codice :)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao
borgo italia ha scritto:
var_dump($_POST['city'];//poi lo togli
manca una parentesi )
da qui è l'errore Parse error:
edit:
non avevo visto la correzione pardon
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se ti da null vuol dire che la variabile non viene trasmessa, l'errore puo essere nel form o nel $_POST
verifica: ha scritto perfettamente uguale il nome del campo di input con la chiave del post (comprese minuscole/maiuscole. anche se mi sembra di si)?
prova a togliere quel value="" (anche agli altri se non scrivi nulla è comunque vuoto).
edit
vedo una differenza, ma non so se può essere quella
<label for=phone accesskey=P><span class="required">*</span>N° Telefono</label>
<input name="phone" type="text" id="phone" size="30" value="" />
<br />
<label for=city accesskey="L">
su tutti metti accesskey senza gli apici su city li metti
 
Ultima modifica:

Cereal_killer

Nuovo Utente
10 Dic 2012
8
0
0
ciao
mi sono accorto di una cosa (verificando su http://www.w3schools.com/tags/tag_input.asp )
acccesskey non fa parte degli attributi del tag input ne html4 ne html5

ok :)

ho rimosso tutto i tag accesskey, provato a compilare il form. La mail che mi arriva é la seguente (non riesco veramente a capire) ... :
________________________________________________________________________________
Sei stato contattato da: Davide Mabellini, residente a: .
Per una richiesta di preventivo relaiva alla categoria: Carrozzeria.

Nel messaggio sottostante troverai la descrizione della richiesta

"prova prova"

Puoi contattare Davide Mabellini via email, [email protected]
o al numero: 556549879789

_______________________________________________________________________
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
io l'ho provato e funziona
questo il var_dump() di $msg
Codice:
string 'Sei stato contattato da: criric, residente a: Trento. 

 Per una richiesta di preventivo relaiva alla categoria: Agenzia
Immobiliare. 

 Nel messaggio sottostante troverai la descrizione della richiesta



"azz"



Puoi contattare criric via email, [email protected] o al numero: 33344335544' (length=280)
ti conviene ricontrollare benen il codice perche quello che hai postato funziona
 

Cereal_killer

Nuovo Utente
10 Dic 2012
8
0
0
Proprio non me ne capacito.... ho fatto copia incolla del contact.php e del form nella index..... se mi dici che a te funziona non so proprio che fare..... :confused:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
criric mi ha preceduto e devo confermare quello che ha detto lui, anche se io per verifica ho aggiunto dei var dump
PHP:
var_dump($address);
var_dump($e_subject);
var_dump($msg);

string(24) "[email protected]"
string(50) "PREVENTIVI ONLINE - sei stato contattato da borgo."
string(275) "Sei stato contattato da: borgo, residente a: Parma. Per una richiesta di preventivo relaiva alla categoria: Altro. Nel messaggio sottostante troverai la descrizione della richiesta
"prova di invio"
Puoi contattare borgo via email, [email protected] o al numero: 33325897"

e il tutto funzia (misteri dell'informatica)
 

Cereal_killer

Nuovo Utente
10 Dic 2012
8
0
0
Ringrazio tutti per le risposte...e mi scuso per il post.

Non capisco dove sia il problema sul sito...potrebbe essere qualcosa relativo al hosting?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
...potrebbe essere qualcosa relativo al hosting?
penso di no, mi sembrerebbe assurdo che facesse "sparire" una variabile.
prova a cambiargli nome da city a citta d'appertutto non si sa mai che city gli sia antipatico (con gli anglofili questo e altro:moira:)
 
Discussioni simili
Autore Titolo Forum Risposte Data
L form multipla php sql,errore in inserimento MySQL 0
F Form mail php errore invio PHP 5
M [PHP] errore in semplie form inserimento dati PHP 7
Francesco Polese Errore form invio mail+php PHP 22
L errore mysql per form di registrazione PHP 3
C Form con dentro div errore validatore w3c HTML e CSS 6
K Errore in script creando il form PHP 0
Jam1 Errore nel creare miniature da immagini caricate su un mio form PHP 0
Shyson Se invio form e c'è errore, form non ritorna a video PHP 0
A errore di un form PHP 17
S Form contatti: ma dove è l'errore? PHP 7
M Form Errore email campi vuoti PHP 5
S form contatti errore PHP 14
B form informazioni - messaggio d'errore PHP 2
G Errore funzione per form PHP 2
S Dare segnalazione errore stessa pagina del form email PHP 8
SolidSnake4 errore durante invio dati con form PHP 2
C Form mail: Errore Supporto Mr.Webmaster 1
free5zone errore form $_POST PHP 1
carla146 errore in form Supporto Mr.Webmaster 1
K Inserimento query Errore 1366 PHP 4
F errore 1062 su campo nuovo MySQL 4
N Errore interno Access MS Access 2
R mi da errore dove inizia il while PHP 1
R Recupero di permalink di un sito che è stato eliminato per errore WordPress 5
R Yoast SEO errore semafori sempre rossi SEO e Posizionamento 0
S Visualizza l'errore di creazione in MSSQL Database 4
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
P Errore nell'indirizzo degli elementi HTML e CSS 2
Jensen Errore di sintassi con DELETE PHP 3
H Errore su array associativo PHP 1
FDF182 ERRORE 1292 PHP 4
P errore 404 con javascript Javascript 2
felino Windows 7: errore 80072EFE su Windows Update Windows e Software 1
A errore http://datatables.net/tn/7 PHP 4
M Errore visualizzazione meta tag title e description SEO e Posizionamento 1
A Errore durante il salvataggio Photoshop 0
M Errore configurazione motion detection nvr Hikvision DS-7616 IP Cam e Videosorveglianza 0
voldemort [c] Errore di segmentazione (core dump creato) C/C++ 1
T SSD - errore sistema Hardware 2
R Navigare sito con cURL, mi restituisce errore PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 2
A Errore visualizzazione selezione testo Photoshop 0
I Postman 400 Errore di richiesta non valida Programmazione 0
S Errore PHP - Notice: Undefined index ... PHP 14
U Campo vuoto data errore Fatal error: PHP 2
R Errore UPDATE tabella mysql PHP 1
R W10 Segnalazione di errore su terminale USB Windows e Software 0
G non riesco a capire quale sia l'errore [SQL] MySQL 2
I Errore 80040220 nella newsletter con paginazione Classic ASP 0

Discussioni simili