problema form senza pagina di risposta

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
ciao a tutti, vado diretto al problema.
Dopo ore ed ore passate davanti al pc per riuscire a sistemare un form come volevo io sono riuscito nell'intento m mi sono fermato sul codice php. Cioè ho scritto in una pagina html del codice php e rinominato la pagina in php ovviamente, ho fatto le prve con easyphp ed il codice è tutto corretto. Il problema viene ne momento in cui compilo il form per verificare il lavoro e invece di apparirmi la frase "Mail inviata" o robe del genere come scritto nel markup la pagina rimane bianca e non fa nulla.
PHP:
<div id="contenuto" style="clear:both">
            <div class="pre_form">
            		<h3>Scrivici</h3>
                    <!-- Form di contatto -->
<?php
$status = @$_GET['status'];
if ($status == 'Fv'){
	echo "<span class='error'>I campi non devono essere vuoti.</span>";
	form();
	} elseif ($status == 'Fm'){
	echo "<span class='error'>L\'Email non è valida!</span>";
	form();
	} elseif ($status == 'F'){
	echo "<span class='error'>Si è verificato un errore nell\'invio. Riprova più tardi.</span>";
	}elseif ($status == 'T'){
	echo "<span class='sendOk'>Grazie, il messaggio è stato inviato. Ti risponderemo al più presto</span>";
	}else{
	form();
	}
	function form() {                    
echo'		<form metod="post" name="form" id="form" action="processor.php">';
echo'		<p>Nome</p><input name="name" type="text" value="" />';
echo'		<p>E-Mail</p><input name="mail" type="text" value="" />';
echo'		<p>Messaggio</p><textarea name="messagge" cols="50" rows="10" type="text" value=""></textarea>';
echo'		<p><input type="submit" name="button" id="fbutton" value="Invia" onclick="return thisform(this.form)"/></p>';
echo'		</form>';
}
?>                  					
                    </div>
            </div>

allego anche il file che processa il form
PHP:
<?php
function mailMsg ($status) {
	header('Location:OBIV_contatti.php?status = .$status');	
	exit;
}

	$error = "C\'è stato un errore riprova!";

	if(isset($_POST['button'])) {
		$name = $_POST['name'];
		$mail = $_POST['mail'];
		$text = $_POST['messagge'];
		
		$name = htmlspecialchars(addslashes ($name));
		$mail = htmlspecialchars(addslashes ($mail));
		$text = htmlspecialchars(addslashes ($text));
		

		$validEmail = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$";

		if(!empty($name) && !empty ($email) && ($text)){
			if (!eregi($validEmail, $mail)){ mailMsg(Fm);
				} else {
		$messagge = "Inviata da.\n Nome:".$name."\n E-mail:".$mail."\n Messaggio:".$text.
		"\n".$_SERVER['HTTP_USER_AGENT'];"\n".$_SERVER['REMOTE_ADDR'];"\n".$_SERVER['REQUEST_TIME'];
		$title = "Messaggio spedito dal sito www.solution-pony-express.com";
		$to = "[email protected]";
		$mailheader = "From: $mail";
		$mailheader = "Reply-To: $mail";
		error_reporting(0);
		mail($to, $title, $messagge, $mailheader) or die();
		mailMsg (T);
		header('Location:OBIV_contatti.php');
		}} else {
		mailMsg(Fm);
		}
	}

?>

Sapete aiutarmi?! :D:byebye: Mi manca poco e finalmente consegno il mio primo sito dopo solo 3 mesi di "studio". Prima non conoscevo nulla ne di php ne di html.

Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
gli apici della funzione mailMsg non sono messi in modo corretto
PHP:
function mailMsg ($status) {
    header('Location:OBIV_contatti.php?status = .$status');    
    exit;
}
sistemala cosi:
PHP:
function mailMsg($status) {
    header('Location:OBIV_contatti.php?status=' . $status);
    exit;
}
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
anche qui c'è un errore di sintassi
PHP:
<form metod="post" ...
la sintassi correttsa è questa
PHP:
<form method="post" ...

di conseguenza ti inviava il modulo in GET e la pagina che processa non riconosceva i dati passati
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Bè in tanto grazie mille ragazzi, Ho avuto un primo riscontro al form che prima non avevo. Poi che voi sappiate non c'è un modo per testare l'integrità di un file php?
Adesso mi da un errore sulla validità della mail, che però è la mail mia personale. Quindi non capisco se è un errore nel codice o nella funzine regex.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
per verificare la mail puoi usare filter_var
PHP:
if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
        mailMsg('Fm');
    }
dovrebbe verificarne solo la sintassi, restituisce false se la mail non è scritta in modo corretto
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
deve andare a sostituire questa
PHP:
if (!eregi($validEmail, $mail)) {
            mailMsg(Fm);
        }
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ok ho provato a sostituire questa condizione ma il problema non cambia. Nonostante inserisca la mia mail personale e funzionante mi dice sempre email non valida. C'è una soluzione? Cosa potrei fare?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova a ripostare il codice di processor.php aggiornato
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Questo è il codice processor.php che sto utilizzando adesso. Ho modificato il pattern della funzione eregi e ci sto lavorando.
PHP:
<?php
function mailMsg ($status) {
	header('Location:OBIV_contatti.php?status=' .$status);	
	exit;
}

	$error = "C\'è stato un errore riprova!";

	if(isset($_POST['button'])) {
		$name = $_POST['name'];
		$mail = $_POST['mail'];
		$text = $_POST['messagge'];
		
		$name = htmlspecialchars(addslashes ($name));
		$mail = htmlspecialchars(addslashes ($mail));
		$text = htmlspecialchars(addslashes ($text));
		

		$validEmail = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$";

		if(empty($name) && empty($email) && empty($text)){
		mailMsg(Fn);
		} else {
		if (!eregi($validEmail,$mail)){ mailMsg(Fm);
		} else {
		$messagge = "Inviata da.\n Nome:".$name."\n E-mail:".$mail."\n Messaggio:".$text.
		"\n".$_SERVER['HTTP_USER_AGENT'];"\n".$_SERVER['REMOTE_ADDR'];"\n".$_SERVER['REQUEST_TIME'];
		$title = "Messaggio spedito dal sito www.solution-pony-express.com";
		$to = "[email protected]";
		$mailheader = "From: $mail";
		$mailheader = "Reply-To: $mail";
		error_reporting(0);
		mail($to, $title, $messagge, $mailheader) or die();
		mailMsg (T);
		header('Location:OBIV_contatti.php');
		}} 
		} else {
		mailMsg(F);
		}
	

?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Io lo proverei cosi:
PHP:
<?php

function mailMsg($status) {
    header('Location:OBIV_contatti.php?status=' . $status);
    exit;
}

// questa a cosa ti serve?
// $error = "C\'è stato un errore riprova!";

if (isset($_POST['button'])) {
    $name = $_POST['name'];
    $mail = $_POST['mail'];
    $text = $_POST['messagge'];

    $name = htmlspecialchars(addslashes($name));
    $mail = htmlspecialchars(addslashes($mail));
    $text = htmlspecialchars(addslashes($text));

    // qui metti || al posto di &&
    if (empty($name) || empty($email) || empty($text)) {
        mailMsg('Fn');
        die();
    }
    if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
        mailMsg('Fm');
        die();
    }
    $messagge = "Inviata da.\n Nome:" . $name . "\n E-mail:" . $mail . "\n Messaggio:" . $text .
            "\n" . $_SERVER['HTTP_USER_AGENT'];
    "\n" . $_SERVER['REMOTE_ADDR'];
    "\n" . $_SERVER['REQUEST_TIME'];
    $title = "Messaggio spedito dal sito www.solution-pony-express.com";
    $to = "[email protected]";
    $mailheader = "From: $mail";
    $mailheader = "Reply-To: $mail";
    error_reporting(0);
    mail($to, $title, $messagge, $mailheader) or die();

    mailMsg('T');
    // questa non serve rimandi con mailMsg()
    // header('Location:OBIV_contatti.php');
} else {
    mailMsg('F');
}
?>
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
E' un avviso generale nel caso qualcosa non vada a buon fine. Nulla di specifico. Ho modificato la vecchia stringa con questa stringa nella speranza che tutto vada bene. mi dava errore con eregi.
PHP:
if (preg_match('/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\" . 
		"(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/i',$mail)){ mailMsg(Fm);
		}
Ho il problema adesso che una volta cliccato su invia la pagina ci mette una vita prima di darmi una risposta. :incazz2: E otengo pagina bianca
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Problema risolto per l'invio della mail. Avevo dimenticato di aver cambiato la porta dell'smtp. Mail inviata e tutto ok.

Il mi onuovo problemino invece sta ne lconfigurare xampp in quanto non mi parte MySql! :eek::eek::byebye:
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Perdonate il post insequenza, ma il problema non è su Mysql ma su apache che nonostante abbia installato da zero già tre volte non riesco a farlo partire. Inutile ogni tentativi di cambiare porta e disabilitare skype sulla porta 80 e 443. Suggerimenti?
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Scusate ma non potendo modificare il post devo riscrivere un altro post. Problema risolto, ora funzona tutto, ho sistemato skype e reinstallato tutto da zero. Grazie a tutti. :byebye::quote::quote:
 
Discussioni simili
Autore Titolo Forum Risposte Data
K Problema form update PHP 2
M Problema con controllo form in real time jQuery 6
P Problema concantenazione form Javascript 3
M [PHP] Problema search form PHP 3
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
O [PHP] Problema Button in form PHP 1
Emix Problema con creazione form css/mobile HTML e CSS 3
A [PHP] Problema Button in form PHP 6
trattorino [PHP] [HTML] problema form PHP 1
S Problema invio form php/html PHP 3
allegria [PHP] Problema form PHP 2
zammaeng [PHP] Problema form con lista PHP 8
S Form e tabella, problema grafico HTML e CSS 2
B problema con i form Javascript 0
L Problema form contatti. PHP 2
D Form Registrazione con conferma via email - problema PHP 10
Il Matta Problema Form e invio mail PHP 2
A problema form login sicuro PHP 0
S problema form login PHP 3
P Problema creazione form con ajax PHP 1
S problema form PHP 2
S Problema con Form CSS HTML e CSS 1
felino [Contact Form 7] Funzione personalizzata: ho un problema. WordPress 1
asevenx problema invio email tramite form PHP 3
F Problema con passaggio variabile da form PHP 3
B Problema form mail per invio doppio allegato PHP 1
J Problema con form in bootstrap HTML e CSS 0
B Problema su passaggio dati da form Classic ASP 1
A Problema invio dati form contatti PHP 12
A Problema orario invio mail per form PHP 4
P Problema multi select form jQuery 6
O Problema con refresh/form PHP 0
M problema con form scrittura su mysql PHP 3
A Problema invio messaggio col form PHP 1
S Problema php con form PHP 0
S Problema form Javascript 6
T problema strano con procedura di controllo da database, di dati immessi in un form asp Classic ASP 5
Virginia86 [risolto] Problema select e verifica form PHP 38
C Problema form javascript che non funziona Javascript 4
Andre7890 Problema CSS in Form Contatti HTML e CSS 7
A problema con un form HTML e CSS 77
Task Mc Problema form invio email da sito ç__ç PHP 4
T problema form prenotazione Javascript 1
Emix Creazione DdT e Fatture... Problema Form. Javascript 16
S Problema con l'invio del form in php PHP 0
Y problema allineamento form con internet explorer HTML e CSS 2
A problema con form paypal HTML e CSS 0
S Problema inserimento nuovo record da form PHP 5
F Problema form invio email php PHP 3
A Piccolo problema con form email HTML e CSS 2

Discussioni simili