Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 10 di 12

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

  1. #1
    Scar991 è online Utente del Forum
    Data Registrazione
    Apr 2012
    Messaggi
    142

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

    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:

    Codice PHP:
    <?php 

    // Destinatario 
    $to "xxx@gmail.com"

    // 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??

  2. #2
    L'avatar di Eliox
    Eliox è offline Moderatore
    Data Registrazione
    Feb 2005
    Messaggi
    4,392

  3. #3
    Scar991 è online Utente del Forum
    Data Registrazione
    Apr 2012
    Messaggi
    142
    Citazione Originariamente Scritto da Eliox Visualizza Messaggio
    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!!!

  4. #4
    L'avatar di criric
    criric è offline Moderatore
    Data Registrazione
    Aug 2010
    Località
    TN
    Messaggi
    2,366
    Dovresti verificare prima sei il POST è stato inviato

    Codice 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

  5. #5
    Scar991 è online Utente del Forum
    Data Registrazione
    Apr 2012
    Messaggi
    142
    Citazione Originariamente Scritto da criric Visualizza Messaggio
    Dovresti verificare prima sei il POST è stato inviato

    Codice 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)

  6. #6
    L'avatar di Eliox
    Eliox è offline Moderatore
    Data Registrazione
    Feb 2005
    Messaggi
    4,392
    Ma tu dove vuoi che ti compaia, sotto il form? Perchè in questo caso lo dovresti inserire dopo la chiusura del tag form.

  7. #7
    L'avatar di criric
    criric è offline Moderatore
    Data Registrazione
    Aug 2010
    Località
    TN
    Messaggi
    2,366
    Avevo dimenticato una parentesi

    cmq intendevo cosi

    Codice PHP:
    <?php

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

    // Destinatario 
        
    $to "xxx@gmail.com";

    // 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";
        }
    }
    ?>

  8. #8
    Scar991 è online Utente del Forum
    Data Registrazione
    Apr 2012
    Messaggi
    142
    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 di Scar991; 21-05-2012 alle 20:01

  9. #9
    L'avatar di criric
    criric è offline Moderatore
    Data Registrazione
    Aug 2010
    Località
    TN
    Messaggi
    2,366
    posta anche il form

  10. #10
    Scar991 è online Utente del Forum
    Data Registrazione
    Apr 2012
    Messaggi
    142
    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 = "xxx@gmail.com"; 
    	
    	// 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>

Pagina 1 di 2 12 UltimaUltima

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •