Form PHP: Messaggio di conferma che compare al caricamento della pagina

Scar991

Utente Attivo
30 Apr 2012
167
0
0
Salve a tutti!
Ho creato un form mail per la sezione contatti dotato di quattro voci. Ho scritto il codice php da inserire nella pagina:

PHP:
<?php 

// Destinatario 
$to = "[email protected]"; 

// Oggetto 
$subject = "Modulo dal sito xxx.altervista.org"; 

// Messaggio 
$msg = "Contenuto del modulo:\n\n"; 
$msg .= "Nome: " . trim(stripslashes($_POST["name"])) . "\n"; 
$msg .= "Cognome: " . trim(stripslashes($_POST["surname"])) . "\n"; 
$msg .= "Email: " . trim(stripslashes($_POST["e-mail"])) . "\n"; 
$msg .= "Messaggio: " . trim(stripslashes($_POST["message"])) . "\n"; 


// Invio 
if(@mail($to, $subject, $msg)) { 

// Inoltro corretto 

echo "Il tuo messaggio è stato inviato con successo, ti risponderemo il prima possibile!"; 

} else {

// Inoltro fallito

echo "Si sono verificati dei problemi nell'inviare il tuo messaggio"; 

} 

?>

Il messaggio di "Inoltro Corretto" compare già al caricamento della pagina. Ho provato a mettere il codice php prima del

Codice:
< !DOCTYPE html PUBLIC [...] >

oppure tra i tag del fieldset, o ancora alla fine della pagina. Il messaggio compare sempre nel punto in cui sposto il codice.
Qualche idea su come fare??
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Il codice non è delimitato da alcun elemento? (ad esempio un div..)
 

Scar991

Utente Attivo
30 Apr 2012
167
0
0
Il codice non è delimitato da alcun elemento? (ad esempio un div..)

Non ti posto tutto il codice della pagina perché è un bordello...
Comunque, ad ora il codice è messo prima della chiusura del tag </form> che mi delimita la struttura del modulo, e il messaggio appare sotto il modulo stesso.
Se lo sposto prima dell'intestazione dell'HTML, mi appare al di sopra di tutto...
Se lo sposto prima della chiusura del body, mi viene sul footer o giù di lì... Sembra una caccia al tesoro!!! :gun:
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Dovresti verificare prima sei il POST è stato inviato

PHP:
if(isset($_POST["invia"]) {
// tutto il codice che hai postato
}

ho scritto $_POST["invia"] ma dipende dal name che hai dato all input submit del form
 

Scar991

Utente Attivo
30 Apr 2012
167
0
0
Dovresti verificare prima sei il POST è stato inviato

PHP:
if(isset($_POST["invia"]) {
// tutto il codice che hai postato
}

ho scritto $_POST["invia"] ma dipende dal name che hai dato all input submit del form

Mi da errore... se metto il tuo codice dopo <?php e prima del resto mi da un errore (non identificato)
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Ma tu dove vuoi che ti compaia, sotto il form? Perchè in questo caso lo dovresti inserire dopo la chiusura del tag form.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Avevo dimenticato una parentesi

cmq intendevo cosi

PHP:
<?php

if(isset($_POST["invia"])) {

// Destinatario 
    $to = "[email protected]";

// Oggetto 
    $subject = "Modulo dal sito xxx.altervista.org";

// Messaggio 
    $msg = "Contenuto del modulo:\n\n";
    $msg .= "Nome: " . trim(stripslashes($_POST["name"])) . "\n";
    $msg .= "Cognome: " . trim(stripslashes($_POST["surname"])) . "\n";
    $msg .= "Email: " . trim(stripslashes($_POST["e-mail"])) . "\n";
    $msg .= "Messaggio: " . trim(stripslashes($_POST["message"])) . "\n";


// Invio 
    if (@mail($to, $subject, $msg)) {

// Inoltro corretto 

        echo "Il tuo messaggio è stato inviato con successo, ti risponderemo il prima possibile!";
    } else {

// Inoltro fallito

        echo "Si sono verificati dei problemi nell'inviare il tuo messaggio";
    }
}
?>
 

Scar991

Utente Attivo
30 Apr 2012
167
0
0
Ho copiato il codice di criric... Ora però il messaggio non viene assolutamente visualizzato e nella mail ricevo il messaggio con

Nome:
Cognome
Email:
Messaggio:

e basta, tutto vuoto :S
 
Ultima modifica:

Scar991

Utente Attivo
30 Apr 2012
167
0
0
Ecco tutto il form

Codice:
  <div id="Contenuto">
    <form id="Contatti" name="Contatti" method="post" action="contattaci.php">
      <fieldset>
        <legend>Comunica con noi!</legend>
        <p><span id="nome">
        <label for="name">Nome*:</label>
        <input type="text" name="name" id="name" tabindex="10" />
        <br />
        <span class="textfieldRequiredMsg">È obbligatorio specificare un valore.</span><span class="textfieldInvalidFormatMsg">Formato non valido.</span></span></p>
        <p><span id="cognome">
        <label for="surname">Cognome:</label>
        <input type="text" name="surname" id="surname" tabindex="20" />
<span class="textfieldInvalidFormatMsg">Formato non valido.</span></span></p>
        <p><span id="email">
        <label for="e-mail">Email*:</label>
        <input type="text" name="e-mail" id="e-mail" tabindex="30" />
        <br />
        <span class="textfieldRequiredMsg">È obbligatorio specificare un valore.</span><span class="textfieldInvalidFormatMsg">L'indirizzo inserito non è valido.</span></span></p>
        <p><span id="messaggio">
          <label for="message">Messaggio*:</label>
          <textarea name="message" id="message" cols="45" rows="5" tabindex="40"></textarea>
        <span class="textareaRequiredMsg"><br />
        È obbligatorio specificare un valore.</span></span></p>
        <p>
          <input type="submit" name="send" id="send" value="Invia" tabindex="50" />
          <input type="reset" name="reset" id="reset" value="Reset" tabindex="60" />
          <hr />

          <?php 

	if(isset($_POST["invia"])) { 
	
	// Destinatario  
		$to = "[email protected]"; 
	
	// Oggetto  
		$subject = "Modulo dal sito xxx.altervista.org"; 
	
	// Messaggio  
		$msg = "Contenuto del modulo:\n\n"; 
		$msg .= "Nome: " . trim(stripslashes($_POST["name"])) . "\n"; 
		$msg .= "Cognome: " . trim(stripslashes($_POST["surname"])) . "\n"; 
		$msg .= "Email: " . trim(stripslashes($_POST["e-mail"])) . "\n"; 
		$msg .= "Messaggio: " . trim(stripslashes($_POST["message"])) . "\n"; 
	
	
	// Invio  
		if (@mail($to, $subject, $msg)) { 
	
	// Inoltro corretto  
	
			echo "Il tuo messaggio è stato inviato con successo, ti risponderemo il prima possibile!"; 
		} else { 
	
	// Inoltro fallito 
	
			echo "Si sono verificati dei problemi nell'inviare il tuo messaggio"; 
		} 
	} 
?>

        </p>
      </fieldset>
    </form>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Visto che hai dato name send al submit

cambia

PHP:
if(isset($_POST["invia"])) {

con

PHP:
if (isset($_POST["send"]) && $_POST["send"] == "Invia") {
 
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] form messaggio di conferma PHP 2
S Php - Testo ripetuto nel Form ? parte il messaggio PHP 2
S passare un valore da un form a un file .php con metodo post PHP 4
K [php]form invio dati PHP 0
G Invio form con PHP PHP 3
M Collegamento tra form html e script php PHP 4
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L Problemi form Pagina php HTML e CSS 3
V PHP form intersecate PHP 0
C Form email php su pagina index.html? PHP 21
L form multipla php sql,errore in inserimento MySQL 0
L Insert php sql da una form multipla PHP 6
L Campi obbligatori form php PHP 0
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
G Form in php WordPress 0
F [PHP] Form html PHP 2
G FORM HTML E PHP PHP 0
S [PHP] Recupero nome immagine da Form con input file PHP 3
U PHP bottone per invio mail o ritorno al form PHP 15
O [PHP] inviare dati da form e script ajax PHP 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
C [PHP] Form con Inserimento dati dalla maschera e un menù a discesa che prende i dati dal db PHP 1
C [PHP] Form inserimento più menù a discesa PHP 9
D [PHP] Consigli su come creare form PHP 1
T [PHP] Creare Honeypot per form contatti PHP 10
A [PHP] Invio automatico dati da form PHP 6
ANDREA20 [PHP] [HTML] crea form di contatto PHP 4
ANDREA20 [PHP] form modulo contattp PHP 5
M HELP FORM CREATO IN PHP PHP 14
L [PHP] Form da select compilare campi automaticamente PHP 1
I [PHP] inviare form con allegato tramite una mail PHP 1
A [PHP] Controllo nome utente form di registrazione PHP 4
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
P PHP - Leggere una pagina passata con Form e Captcha PHP 0
Angelo Russo [PHP] [HTML] form contatti PHP 0
F [php] sicurezza password form login PHP 2
M [PHP] Problema search form PHP 3
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
Cosina Andare a capo nel testo della mail ricevuta dal form php PHP 1
N [PHP] filtrare input form di tipo array PHP 0
M [PHP] Framework per form complessi (configuratore prodotto) PHP 6
F [PHP] [HTML] File legato ad action in un form PHP 1
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
S [PHP] Verifica dati tramite form e annullamento codice inserito PHP 7
spider81man Scrivere su file .txt da form php PHP 2
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
M [PHP] valore tabella in campo form PHP 1
K [PHP] variabili di tipo numerico nei Form PHP 1
L [PHP] Salvare csv da form dati PHP 5

Discussioni simili