Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Form php + ajax - problema funzionamento

    Ciao a tutti,
    ho perso una giornata intera a cercare di far funzionare il form sto avendo problemi nella ricezione della mail.
    Direi che funziona tutto, sia la validazione che il check di ajax ma l'unica cosa che non riesco a fare è ricevere la mail nella casella di posta. Per caso qualcuno riesce ad aiutarmi?
    Vi posto il codice e vi ringrazio in anticipo

    Questo è il codice html
    codice HTML:
    <form id="feedback" name="feedback" method="post" >    
    <fieldset>        
    <label for="name" id="name">Nome e Cognome<span class="required">*</span></label>
    <input type="text" name="name" id="name" size="30" value="" required >                
    <label for="paese" id="paese">Paese</label>        
    <input type="text" name="paese" id="name" size="30" value="" >                       
    <label for="email" id="email">Email<span class="required">*</span></label>        
    <input type="text" name="email" id="email" size="30" value="" required placeholder="info@info.it">            <label for="url" id="url" name="url">Sitoweb<span class="required">*</span></label>        
    <input type="text" name="url" id="url" size="30" value="" required placeholder="http://www.miosito.it">                
    <label for="phone" id="phone">Telefono</label>        
    <input type="text" name="phone" id="phone" size="30" value="" placeholder="+39 333 6868688">                       
    <label for="Message" id="message">Messaggio<span class="required">*</span></label>        <textarea name="message" id="message" required></textarea>        
    <label for="Answer" id="answer">Come si chiama quell'animale che <i>"miagola"</i> ? <span class="required">*</span></label>        
    <input type="text" name="answer" value="" required></br>        
    <input id="submit" type="submit" name="submit" value="Invia il messaggio" size="10">
    </fieldset>
    </form>
    <div id="success">
    <span class="green textcenter">
    <p>Il tuo messaggio è stato inviato correttamente! Ti risponderemo il prima possibile.</p>    
    </span>
    </div>
    <div id="error">
    <span>
    <p>Qualcosa non ha funzionato, prova ad aggiornare il browser e a reinviare il messaggio.</p> 
    </span>
    </div>
    .....
    
        <script src="js/jquery-1.11.0.min.js" type="text/jscript">
    </script><script src="js/jquery.form.js" type="text/jscript"></script>
    <script src="js/jquery.validate.min.js" type="text/jscript"></script>
    <script type="text/javascript">jQuery.validator.addMethod('answercheck', function (value, element) {        return this.optional(element) || /^\bgatto\b$/.test(value);    }, "scrivi la risposta corretta -_-");
    // validate contact form$(function() {    $('#feedback').validate({        
    rules: {            
    name: {                
    required: true,                
    minlength: 2            },            
    email: {                
    required: true,               
    email: true            },             
    url: {              
    required: true,                
    url: true            },            
    message: {               
    required: true            },            
    answer: {                
    required: true,                
    answercheck: true            }        },        
    messages: {            
    name: {               
    required: "scrivi il tuo nome e cognome",                
    minlength: "Il tuo nome deve contenere almeno 2 caratteri"            },           
     email: {                
    required: "no email, no messaggio"            },            
    url: {                
    required: "Inserisci il tuo sito web"            },            
    message: {                
    required: "um...si, preghiamo di scrivere un messaggio prima di inviare il form.",                
    minlength: "solo questo? scrivi di più?"            },            
    answer: {                required: "mi spiace risposta sbagliata!"            }        },       
     submitHandler: function(form) {            $(form).ajaxSubmit({                type:"POST",               
     data: $(form).serialize(),                
    url:"process.php",               
     success: function() {                   
     $('#feedback :input').attr('disabled', 'disabled');                    
    $('#feedback').fadeTo( "slow", 0.15, function() {                        
    $(this).find(':input').attr('disabled', 'disabled');                        
    $(this).find('label').css('cursor','default');                       
     $('#success').fadeIn();                    });                },                
    error: function() {                    
    $('#feedback').fadeTo( "slow", 0.15, function() {                        
    $('#error').fadeIn();                    
                                 });               
                             }            
                      });        
                     }    
                   });
               });
    </script>


    Questo il codice del file process.php

    Codice PHP:
     $to "ciao@alederodesign.it";    $from $_REQUEST['email'];    $name $_REQUEST['name'];    $headers "From: $from";    $subject "Hai ricevuto un messaggio.";
        
    $fields = array();      $fields{"name"} = "name";    $fields{"phone"} = "phone";    $fields{"paese"} = "paese";    $fields{"email"} = "email";    $fields{"message"} = "message";
        
    $body "Questo è quanto è stato spedito:\n\n"; foreach($fields as $a => $b){   $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }
        
    $send mail($to$subject$body$headers); 
    Per favore qualcuno riesce ad aiutarmi?
    Grazie in anticipo

  2. #2
    codice:
     $to = "ciao@alederodesign.it";    $from = $_REQUEST['email'];    $name = $_REQUEST['name'];    $headers = "From: $from";    $subject = "Hai ricevuto un messaggio.";
        $fields = array();      $fields{"name"} = "name";    $fields{"phone"} = "phone";    $fields{"paese"} = "paese";    $fields{"email"} = "email";    $fields{"message"} = "message";
        $body = "Questo è quanto è stato spedito:\n\n"; foreach($fields as $a => $b){   $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }
        $send = mail($to, $subject, $body, $headers);  
    codice:
    
    


    Prova ad eseguirla direttamente senza passare da ajax .E guarda se va

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.