Visualizzazione dei risultati da 1 a 10 su 10

Discussione: problema form mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118

    problema form mail

    Salve,

    ho un form con alcuni campi.
    Vorrei, dopo aver cliccato il pulsante "invia", far comparire sotto il forum un messaggio di conferma di invio mail.
    Come fare?
    Grazie mille.

    Questo è lo script:

    Codice PHP:
    <form class="contact_form" method="post" action="#">     
    <input type="text" class="autoclear" name="nazienda" value="Nome Azienda"/> 

    <input type="text" class="autoclear" name="attiv" value="Tipo di attività"/> 

    <input type="text" class="autoclear" name="ref" value="Referente"/> 

    <input type="text" class="autoclear" name="tel" value="Telefono"/> 

    <input type="text" class="autoclear" name="email" value="E-mail"/> 

    <input type="text" class="autoclear" name="budget" value="Budget"/> 

    <textarea cols="30" rows="15" name="note"></textarea>
    <input type="hidden" name="invia" value="ok" >
    <div class="button_cont">
    <input type="submit" value="Invia" />
    </div>
    </form>

    <?php
    if(isset ($_POST["submit"])){

    //dati relativi al sito web
    $nazienda=$_POST[nazienda];
    $attiv=$_POST[attiv];
    $ref=$_POST[ref];
    $tel=$_POST[tel];
    $email=$_POST[email];
    $budget=$_POST[budget];
    $note=$_POST[note];


    $to"[i]qui c'è l'indirizzo mail[/i]";
    $subject"richiesta info per preventivo";

    $boundary "==MP_Bound_xyccr948x=="
    $headers "MIME-Version: 1.0\r\n"
    $headers .= "Content-type: multipart/alternative; boundary=\"$boundary\"\r\n"
    $headers .= "From: $email\r\n";

    $html_msg "Nome Azienda: <font color=\"blue\">" $nazienda "</font>
    "

    $html_msg .= "Attività Azienda: <font color=\"blue\">" $attiv "</font>
    "

    $html_msg .= "Referente: <font color=\"blue\">" $ref "</font>
    "
    ;
    $html_msg .= "Telefono: <font color=\"blue\">" $tel "</font>
    "
    ;
    $html_msg .= "Budget per il sito web: <font color=\"blue\">" $budget "</font>

    "
    ;
    $html_msg .= "Note: <font color=\"blue\">" $note "</font>
    "
    ;


    $confirmmessage"$html_msg"\n\n"
    $msg "This is a Multipart Message in MIME format\n"
    $msg .= "--$boundary\n"
    $msg .= "Content-type: text/html; charset=iso-8859-1\n"
    $msg .= "Content-Transfer-Encoding: 7bit\n\n"
    $msg .= $confirmmessage "\n"
    $msg .= "--$boundary--"

    $message $msg;

    $sendmail=mail($to$subject$message$headers); 
    $conferma "mail inviata con successo";

    if ((
    $sendmail) AND ($_POST['invia']=="ok")) {
    echo 
    $conferma;
    }else{
    echo 
    "impossibile inviare il messaggio";
    }
    }
    ?>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Così com'è non compare? Dovrebbe.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    Originariamente inviato da Alhazred
    Così com'è non compare? Dovrebbe.
    No, niente

    Non capisco dove sia l'errore.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    manca il name="submit" al input submit

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    Originariamente inviato da amphioxus
    manca il name="submit" al input submit
    Mamma mia

    Grazie mille.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    Ragazzi, mi chiedevo se c'e un modo per rimanere sul form dopo l'invio della mail.
    Mi spiego meglio.

    Dopo che un utente clicca su "invia" la pagina viene ricaricata e si presenta con header+menu.
    Il form, però, si trova in fondo alla pagina.
    Vorrei che dopo l'invio della mail l'utente possa controllare subito se il suo messaggio sia stato inviato correttamente o meno, senza dover scrollare la pagina.

    E' possibile fare questo?

    Grazie ancora

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    nell'action dovresti scrivere per esempio #messaggio
    e poi a ridosso del messaggio di invio mettici
    <a name="messaggio"></a>

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    Originariamente inviato da amphioxus
    nell'action dovresti scrivere per esempio #messaggio
    e poi a ridosso del messaggio di invio mettici
    <a name="messaggio"></a>
    Non funge.

    Gentilissimo comunque

    Altre soluzioni?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    metti la tua pagina per esteso nell'action prova

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    118
    Originariamente inviato da amphioxus
    metti la tua pagina per esteso nell'action prova
    Credo di aver capito dov'è l'errore. Il tuo codice sopra citato funziona benissimo, ma nella mia pagina php ho uno script Javascript che diciamo lo annulla.

    E' uno script che crea un effetto fade al cambio pagina del sito.
    Se elimino questo script, il tuo codice funziona.


    codice:
    <script type="text/javascript">
    $(function() { 
    $('.main_content, .main_navi').hide(); 
    $(window).load( function() {  
    $('#loader').fadeOut();
    $('.main_content, .main_navi').fadeIn(2000); 
    } );
    } );
                            
    $(document).ready(function() {
    $("body").css("display", "none");
    $("body").fadeIn(2000);
    $("a.transition").click(function(event){
    event.preventDefault();
    linkLocation = this.href;
    $("body").fadeOut(1000, redirectPage);
    });
    function redirectPage() {
    window.location = linkLocation;
    }
    });
    </script>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.