Skocz do zawartości
Tomasz_ek

Nieprawidłowe działanie contact form

Polecane posty

Witam,

 

Mam taki contact-form na stronie:

 

HTML:

<div class="status alert alert-success" style="display: none"></div>

                <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
                  <div class="row-fluid">
                    <div class="span5">
                        <label>Imię</label>
                        <input type="text" class="input-block-level" required="required" placeholder="Twoje imię">
                        <label>Nazwisko</label>
                        <input type="text" class="input-block-level" required="required" placeholder="Twoje nazwisko">
                        <label>Adres e-mail</label>
                        <input type="text" class="input-block-level" required="required" placeholder="Twój adres e-mail">
                    </div>
                    <div class="span7">
                        <label>Treść wiadomości:</label>
                        <textarea name="message" id="message" required="required" class="input-block-level" rows="8"></textarea>
                    </div>

                </div>
                <button type="submit" class="btn btn-primary btn-large pull-right">Wyślij wiadomość</button>
                <p> </p>

            </form>
        </div>

Zawartość sendemail.php:

<?php
  header('Content-type: application/json');
  $status = array(
    'type'=>'success',
    'message'=>'Wiadomość wysłana!'
  );

    $name = @trim(stripslashes($_POST['name'])); 
    $email = @trim(stripslashes($_POST['email'])); 
    $subject = @trim(stripslashes($_POST['subject'])); 
    $message = @trim(stripslashes($_POST['message'])); 

    $email_from = $email;
    $email_to = 'info@mojadomena.pl';

    $body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;

    $success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');

    echo json_encode($status);
    die;

Problem jest taki, że mail na adres zdefiniowany w $email_to dochodzi, ale pusty i od nieznanego nadawcy przez co ląduje w spamie. Ktoś podpowie jak to poprawić żeby pojawiała się zawartość wiadomość i najlepiej, żeby nie szedł do spamu(może zawartość maila poprawi jakość i nie wyląduje w spamie?)?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tylko że Twój formularz nie wykorzystuje ajaxa. Pokaż co zrobiłeś, pewnie są inne błędy które nie rzuciły się w oczy od razu.

Co do kwoty to coś w okolicach 70-90zł pewnie. Jak chcesz to napisz na priv.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nawet niemodyfikowany szablon: http://bsbb.pl/nova-multipurpose-site-template.zip nie wysyła maila. Dane:

<div class="span8">
                <h4>Contact Form</h4>
                <div class="status alert alert-success" style="display: none"></div>

                <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
                  <div class="row-fluid">
                    <div class="span5">
                        <label>First Name</label>
                        <input type="text" class="input-block-level" required="required" placeholder="Your First Name">
                        <label>Last Name</label>
                        <input type="text" class="input-block-level" required="required" placeholder="Your Last Name">
                        <label>Email Address</label>
                        <input type="text" class="input-block-level" required="required" placeholder="Your email address">
                    </div>
                    <div class="span7">
                        <label>Message</label>
                        <textarea name="message" id="message" required="required" class="input-block-level" rows="8"></textarea>
                    </div>

                </div>
                <button type="submit" class="btn btn-primary btn-large pull-right">Send Message</button>
                <p> </p>

            </form>
        </div>

PHP:

<?php
  header('Content-type: application/json');
  $status = array(
    'type'=>'success',
    'message'=>'Email sent!'
  );

    $name = @trim(stripslashes($_POST['name'])); 
    $email = @trim(stripslashes($_POST['email'])); 
    $subject = @trim(stripslashes($_POST['subject'])); 
    $message = @trim(stripslashes($_POST['message'])); 

    $email_from = $email;
    $email_to = 'email@gmail.com';

    $body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;

    $success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');

    echo json_encode($status);
    die;

AJAX:

jQuery(function($) {

  //Ajax contact
  var form = $('.contact-form');
    form.submit(function () {
      $this = $(this);
      $.post($(this).attr('action'), function(data) {
      $this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
    },'json');
    return false;
  });

  //Goto Top
  $('.gototop').click(function(event) {
     event.preventDefault();
     $('html, body').animate({
       scrollTop: $("body").offset().top
     }, 500);
  });  
  //End goto top    

});

Nawet po wrzuceniu na sucho tego szablonu na serwer i zmianie tylko maila na własnego w PHP owszem mail przychodzi ale pusty i bez nadawcy. Wygląda na zwalone od początku?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nadal nie poprawiłeś błędów wypisanych w 2 poście. Poza tym funkcja wysyłająca formularz przez ajax jest tak napisana że nie wysyła żadnych danych.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×