Skocz do zawarto軼i


 

Zdj璚ie

Nieprawid這we dzia豉nie contact form

Nieprawid這we dzia豉nie contact form contactform

  • Prosz si zalogowa aby odpowiedzie
6 odpowiedzi na ten temat

Nieprawid這we dzia豉nie contact form

#1 Tomasz_ek

Tomasz_ek

    Nowy u篡tkownik

  • U篡tkownicy
  • 5 post闚
  • Firma:TOM_CAT
  • Imi:Tomasz

Napisany 01 grudzie 2016 - 07:00

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


  • 0

#2 XYS

XYS

    Regularny u篡tkownik

  • Firma Bronze
  • 86 post闚
  • Firma:Wolkomp.pl
  • Imi:Krzysztof

Napisany 01 grudzie 2016 - 08:28

W inputach nie masz id="name" name="name" etc. 


  • 0

#3 Fizyda

Fizyda

    Sta造 u篡tkownik

  • WHT Pro
  • PipPipPipPipPip
  • 498 post闚

Napisany 01 grudzie 2016 - 10:20

Dodatkowo w skrypcie pobierasz subject którego nie masz w formularzu.


  • 0

#4 Tomasz_ek

Tomasz_ek

    Nowy u篡tkownik

  • U篡tkownicy
  • 5 post闚
  • Firma:TOM_CAT
  • Imi:Tomasz

Napisany 01 grudzie 2016 - 12:34

Mimo poprawek dalej to nie działa jak trzeba(pusta wiadomość). Znalazłem tu info: https://shapebootstr...mplate/comments że to problem z AJAX'em. Nie umiem tego zrobić, czy ktoś się podejmie naprawy, jak tak to za jaką kwotę?


  • 0

#5 Fizyda

Fizyda

    Sta造 u篡tkownik

  • WHT Pro
  • PipPipPipPipPip
  • 498 post闚

Napisany 01 grudzie 2016 - 13:04

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.


  • 0

#6 Tomasz_ek

Tomasz_ek

    Nowy u篡tkownik

  • U篡tkownicy
  • 5 post闚
  • Firma:TOM_CAT
  • Imi:Tomasz

Napisany 01 grudzie 2016 - 13:34

Nawet niemodyfikowany szablon: http://bsbb.pl/nova-...te-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?


  • 0

#7 Fizyda

Fizyda

    Sta造 u篡tkownik

  • WHT Pro
  • PipPipPipPipPip
  • 498 post闚

Napisany 01 grudzie 2016 - 13:42

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.


  • 0





0 u篡tkownik闚 czyta ten temat

0 u篡tkownik闚, 0 go軼i, 0 anonimowych u篡tkownik闚