Visualizzazione risultati 1 fino 4 di 4

Discussione: Problema form invio mail

  1. #1
    Guest

    Unhappy Problema form invio mail

    salve tutti....

    ho spulciato tante altre discussioni.....provato decine di form e pagine php ma continuo ad avere problemi nella ricezione delle mail dal sito che sto preparando.

    Ho provato anche a cercare di analizzare il codice php ma non essendo preparato in materia, mi sembra corretto.

    Ho controllato la cartella spam, ho usato l'alias mail di altervista, ho provato ad usare altre mail, ho cambiato form, cambiato cdice php ma nonostante gran parte dei form mi rispondano che la mail è stata inviata con successo, io non ricevo nulla. Ho provato a scrrivere su una discussione precedente x non aprire un nuovo post ma nessuno mi ha risp.

    Ci provo, se avete un secondo...questo è lulitmo form che sto provando ad usare:
    Codice HTML:
    <form name="contactform" method="post" action="send_form_email.php">
    <table width="450px">
    <tr>
     <td valign="top">
      <label for="first_name">First Name *</label>
     </td>
     <td valign="top">
      <input  type="text" name="first_name" maxlength="50" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top"">
      <label for="last_name">Last Name *</label>
     </td>
     <td valign="top">
      <input  type="text" name="last_name" maxlength="50" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="email">Email Address *</label>
     </td>
     <td valign="top">
      <input  type="text" name="email" maxlength="80" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="telephone">Telephone Number</label>
     </td>
     <td valign="top">
      <input  type="text" name="telephone" maxlength="30" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="comments">Comments *</label>
     </td>
     <td valign="top">
      <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
     </td>
    </tr>
    <tr>
     <td colspan="2" style="text-align:center">
      <input type="submit" value="Submit">   <a href="http://www.sitodadovehopresoform.com/email_form.php">Email Form</a>
     </td>
    </tr>
    </table>
    </form>



    Questo invece ilcodice php:

    Codice PHP:
    <?php
    if(isset($_POST['email'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "labirinth@altervista.org";
    $email_subject = "Your email subject line";


    function
    died($error) {
    // your error code can go here
    echo "We are very sorry, but there were error(s) found with the form you submitted. ";
    echo
    "These errors appear below.<br /><br />";
    echo
    $error."<br /><br />";
    echo
    "Please go back and fix these errors.<br /><br />";
    die();
    }

    // validation expected data exists
    if(!isset($_POST['first_name']) ||
    !isset(
    $_POST['last_name']) ||
    !isset(
    $_POST['email']) ||
    !isset(
    $_POST['telephone']) ||
    !isset(
    $_POST['comments'])) {
    died('We are sorry, but there appears to be a problem with the form you submitted.');
    }

    $first_name = $_POST['first_name']; // required
    $last_name = $_POST['last_name']; // required
    $email_from = $_POST['email']; // required
    $telephone = $_POST['telephone']; // not required
    $comments = $_POST['comments']; // required

    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
    if(!
    preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
    }
    $string_exp = "/^[A-Za-z .'-]+$/";
    if(!
    preg_match($string_exp,$first_name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
    }
    if(!
    preg_match($string_exp,$last_name)) {
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
    }
    if(
    strlen($comments) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
    }
    if(
    strlen($error_message) > 0) {
    died($error_message);
    }
    $email_message = "Form details below.\n\n";

    function
    clean_string($string) {
    $bad = array("content-type","bcc:","to:","cc:","href");
    return
    str_replace($bad,"",$string);
    }

    $email_message .= "First Name: ".clean_string($first_name)."\n";
    $email_message .= "Last Name: ".clean_string($last_name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Telephone: ".clean_string($telephone)."\n";
    $email_message .= "Comments: ".clean_string($comments)."\n";


    // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    @
    mail($email_to, $email_subject, $email_message, $headers);
    ?>

    <!-- include your own success html here -->

    Thank you for contacting us. We will be in touch with you very soon.

    <?php
    }
    ?>




    Vi ringrazio, io non so piu che fare...ci sono dietro almeno due settimane sempre sulla stessa pagina del sito
    Ultima modifica di alemoppo : 16-07-2013 alle ore 12.31.27 Motivo: +tag [php][html]

  2. #2
    Guest

    Predefinito

    Ciao, ma quando invii l'e-mail ti viene fuori solo il messaggio
    Codice:
    Thank you for contacting us. We will be in touch with you very soon.
    e nient'altro? Nessuna scritta strana tipo E_WARNING o cose simili?

    Intanto fai così, nel file PHP prova a togliere il simbolo @ dalla riga:
    Codice PHP:
    @mail($email_to, $email_subject, $email_message, $headers);
    Poi salva e ritenta l'invio dell'e-mail e scrivi cosa ti viene fuori.

  3. #3
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,576

    Predefinito

    Oltre ad eliminare il simbolo @ da mail(), aggiungi all'inizio dello script:
    Codice:
    error_reporting(E_ALL);
    Ciao!

  4. #4
    Guest

    Predefinito

    Così funziona:

    HTML
    Codice HTML:
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="AlterVista - Editor HTML">
    <TITLE></TITLE>
    </HEAD>
    <BODY>
    
    <form name="contactform" method="post" action="send_form_email.php">
    <table width="450px">
    <tr>
     <td valign="top">
      <label for="first_name">First Name *</label>
     </td>
     <td valign="top">
      <input  type="text" name="first_name" maxlength="50" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top"">
      <label for="last_name">Last Name *</label>
     </td>
     <td valign="top">
      <input  type="text" name="last_name" maxlength="50" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="email">Email Address *</label>
     </td>
     <td valign="top">
      <input  type="text" name="email" maxlength="80" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="telephone">Telephone Number</label>
     </td>
     <td valign="top">
      <input  type="text" name="telephone" maxlength="30" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="comments">Comments *</label>
     </td>
     <td valign="top">
      <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
     </td>
    </tr>
    <tr>
     <td colspan="2" style="text-align:center">
      <input type="submit" value="Submit">   <a href="http://www.sitodadovehopresoform.com/email_form.php">Email Form</a>
     </td>
    </tr>
    </table>
    </form>
    
    </BODY>
    </HTML>
    PHP
    Codice:
    <?php
    error_reporting(E_ALL);
    if(isset($_POST['email'])) {
         
        // EDIT THE 2 LINES BELOW AS REQUIRED
        $email_to = "labirinth@altervista.org";
        $email_subject = "Your email subject line";
         
         
        function died($error) {
            // your error code can go here
            echo "We are very sorry, but there were error(s) found with the form you submitted. ";
            echo "These errors appear below.<br /><br />";
            echo $error."<br /><br />";
            echo "Please go back and fix these errors.<br /><br />";
            die();
        }
         
        // validation expected data exists
        if(!isset($_POST['first_name']) ||
            !isset($_POST['last_name']) ||
            !isset($_POST['email']) ||
            !isset($_POST['telephone']) ||
            !isset($_POST['comments'])) {
            died('We are sorry, but there appears to be a problem with the form you submitted.');       
        }
         
        $first_name = $_POST['first_name']; // required
        $last_name = $_POST['last_name']; // required
        $email_from = $_POST['email']; // required
        $telephone = $_POST['telephone']; // not required
        $comments = $_POST['comments']; // required
         
        $error_message = "";
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      if(!preg_match($email_exp,$email_from)) {
        $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
      }
        $string_exp = "/^[A-Za-z .'-]+$/";
      if(!preg_match($string_exp,$first_name)) {
        $error_message .= 'The First Name you entered does not appear to be valid.<br />';
      }
      if(!preg_match($string_exp,$last_name)) {
        $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
      }
      if(strlen($comments) < 2) {
        $error_message .= 'The Comments you entered do not appear to be valid.<br />';
      }
      if(strlen($error_message) > 0) {
        died($error_message);
      }
        $email_message = "Form details below.\n\n";
             
        $email_message .= "First Name: ".$first_name."\n";
        $email_message .= "Last Name: ".$last_name."\n";
        $email_message .= "Email: ".$email_from."\n";
        $email_message .= "Telephone: ".$telephone."\n";
        $email_message .= "Comments: ".$comments."\n";
         
         
    // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n";
    mail($email_to, $email_subject, $email_message, $headers); 
    ?>
     
    <!-- include your own success html here -->
     
    Thank you for contacting us. We will be in touch with you very soon.
     
    <?php
    }
    ?>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •