Различные вопросы по PHP и MySQL

253K
.
Udesign

Koenig, я не смог под ajax построит ваш код

форма (+/-)

<div class="col-md-4">
 
                        <div class="footer-col">
 
                            <h4 class="footer-title">Biz bilan bog'laning <span class="title-under"></span></h4>
 
                            <div class="footer-content">
 
                                <div class="footer-form">
 
                                    <div class="footer-form">
 
                                    <form action="/php/mail.php" class="ajax-form">
 
                                        <div class="form-group">
                                            <input type="text" name="name" class="form-control" placeholder="Имя" required="">
                                        </div>
 
                                         <div class="form-group">
                                            <input type="email" name="email" class="form-control" placeholder="Е-маил почта" required="">
                                        </div>
 
                                        <div class="form-group">
                                            <textarea name="message" class="form-control" placeholder="Ваш сообщения" required=""></textarea>
                                        </div>
 
                                        <div class="form-group alerts">
 
                                            <div class="alert alert-success" role="alert">
 
                                            </div>
 
                                            <div class="alert alert-danger" role="alert">
 
                                            </div>
 
                                        </div>
 
                                         <div class="form-group">
                                            <button type="submit" class="btn btn-submit pull-right">Письмо отправтено</button>
                                        </div>
 
                                    </form>
 
                                </div>
 
                                </div>
                            </div>
 
                        </div>
 
                    </div>


вот функция
php/mail.php (+/-)

<?php
 
/* =====================================================
 * change this to the email you want the form to send to
 * ===================================================== */
$email_to = "udesign.uzb@gmail.com"; 
$email_from = "udesign.uzb@gmail.com"; // must be different than $email_from 
$email_subject = "Контактный формуляр представленный";
 
if(isset($_POST['email']))
{
 
    function return_error($error)
    {
        echo json_encode(array('success'=>0, 'message'=>$error));
        die();
    }
 
    // check for empty required fields
    if (!isset($_POST['name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['message']))
    {
        return_error('Пожалуйста, заполните все обязательные поля.');
    }
 
    // form field values
    $name = $_POST['name']; // required
    $email = $_POST['email']; // required
    $message = $_POST['message']; // required
 
    // form validation
    $error_message = "";
 
    // name
    $name_exp = "/^[a-z0-9 .\-]+$/i";
    if (!preg_match($name_exp,$name))
    {
        $this_error = 'Пожалуйста, введите верное имя.';
        $error_message .= ($error_message == "") ? $this_error : "<br/>".$this_error;
    }        
 
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
    if (!preg_match($email_exp,$email))
    {
        $this_error = 'Пожалуйста, введите действительный адрес электронной почты.';
        $error_message .= ($error_message == "") ? $this_error : "<br/>".$this_error;
    } 
 
    // if there are validation errors
    if(strlen($error_message) > 0)
    {
        return_error($error_message);
    }
 
    // prepare email message
    $email_message = "Форма подробности ниже .\n\n";
 
    function clean_string($string)
    {
        $bad = array("content-type", "bcc:", "to:", "cc:", "href");
        return str_replace($bad, "", $string);
    }
 
    $email_message .= "Name: ".clean_string($name)."\n";
    $email_message .= "Email: ".clean_string($email)."\n";
    $email_message .= "Message: ".clean_string($message)."\n";
 
    // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    if (@mail($email_to, $email_subject, $email_message, $headers))
    {
        echo json_encode(array('success'=>1, 'message'=>'Форма успешно отправлен .')); 
    }
 
    else 
    {
        echo json_encode(array('success'=>0, 'message'=>'
Произошла ошибка. Пожалуйста, повторите попытку позже.')); 
        die();        
    }
}
else
{
    echo 'Пожалуйста, заполните все обязательные поля.';
    die();
}
?>




<script src="/assets/js/main.js"></script>
.

не знаю это нужно или нет ну это js подключено

/assets/js/main.js (+/-)

$(function(){


/*  Gallery lightBox
 ================================================*/ 

 if( $(".lightbox").length > 0 ) {

$(".lightbox").prettyPhoto();

}

/*  Owl carousel
 ================================================*/ 

 if( $(".owl-carousel").length > 0 ) {

$(".owl-carousel").owlCarousel({

 margin:25,
 stagePadding: 25,
    nav:true,
    navText: [
      "<i class='glyphicon glyphicon-chevron-left'></i>",
      "<i class='glyphicon glyphicon-chevron-right'></i>"
    ],
    responsive:{
        0:{
            items:2
        },
        600:{
            items:4
        },
        1000:{
            items:8
        }
    }

});
}


 /* Contact form ajax Handler
    ================================================*/

    $(".ajax-form").on('submit', function() {
    var form = $(this);
        var formURL = $(this).attr("action");
        var postData = $(this).serializeArray();

        $.ajax({
            url: formURL,
            type: 'POST',
            data: postData,
            dataType: 'json',

            success:function(data, textStatus, jqXHR){

                if(data.success==1){

                    form.find(".alert").fadeOut();
                    form.find(".alert-success").html(data.message);
                    form.find(".alert-success").fadeIn(600);
                    

                }else{

                form.find(".alert").fadeOut();
                    form.find(".alert-danger").html(data.message);
                    form.find(".alert-danger").fadeIn(600);

                }
            },

            error: function(jqXHR, textStatus, errorThrown)  { 
                
                console.log(errorThrown);
            }

        });
            

        return false;
     })



    /*
On scroll animations
================================================
*/


    var $elems = $('.animate-onscroll');

    var winheight = $(window).height();
    var fullheight = $(document).height();
 
    $(window).scroll(function(){
        animate_elems();
    });



    function animate_elems() {

    wintop = $(window).scrollTop(); // calculate distance from top of window
 
    // loop through each item to check when it animates
    $elems.each(function(){
    
      $elm = $(this);
 
      if($elm.hasClass('animated')) { return true; } // if already animated skip to the next item
 
      topcoords = $elm.offset().top; // element's distance from top of page in pixels
 
      if(wintop > (topcoords - (winheight*.75))) {
        // animate when top of the window is 3/4 above the element
        $elm.addClass('animated');
      }

    });

  } // end animate_elems()




 /*  Google map Script
 ====================================================*/ 

function initMap() {

  
  var mapLatitude = 31.423308 ; // Google map latitude 
  var mapLongitude = -8.075145 ; // Google map Longitude  

    var myLatlng = new google.maps.LatLng( mapLatitude, mapLongitude );

    var mapOptions = {

            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            zoom: 10,
            scrollwheel: false
          };   

    var map = new google.maps.Map(document.getElementById("contact-map"), mapOptions);

    var marker = new google.maps.Marker({
    
      position: myLatlng,
      map : map,
      
    });

    // To add the marker to the map, call setMap();
    marker.setMap(map);

    // Map Custom style
    var styles = [
  {
    stylers: [
      { hue: "#1f76bd" },
      { saturation: 80 }
    ]
  },{
    featureType: "road",
    elementType: "geometry",
    stylers: [
      { lightness: 80 },
      { visibility: "simplified" }
    ]
  },{
    featureType: "road",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  }
];

map.setOptions({styles: styles});

};

if( $("#contact-map").length > 0 ) {

initMap();

}

});

.
(\/)____o_O____(\/)

Udesign, тебе под аякс именно? тебе по сути два поля надо
$email = $_POST['email']; // required
$message = $_POST['message']; // required
вот они у тебя в коде
далее подключаем класс и предаем нужное
require('kmail.class.php');



$mail = new KMail;
$mail->add_to($email);
$mail->set_subject('Теставая тема письма');
$mail->add_body_message($message);
$mail->send();
все

.

Koenig, спасибо сечас еще попробую ну в Принсипи я так и сделал

.
Koenig
(\/)____o_O____(\/)

Udesign, ну и чтоб сообщение аяксовое было
if (@mail($email_to, $email_subject, $email_message, $headers))
замени
if ($mail->send())

.

Koenig, хорошо спасибо

.
(\/)____o_O____(\/)

Udesign, получилось чего?

.
Udesign

Koenig, Произошла ошибка. Пожалуйста, повторите попытку позже.

теперь ошибка выводит

mail.php (+/-)


<?php

/* =====================================================
 * change this to the email you want the form to send to
 * ===================================================== */
$email_to = "udesign.uzb@gmail.com"; 
$email_from = "udesign.uzb@gmail.com"; // must be different than $email_from 
$email_subject = "Контактный формуляр представленный";

if(isset($_POST['email']))
{

    function return_error($error)
    {
        echo json_encode(array('success'=>0, 'message'=>$error));
        die();
    }

    // check for empty required fields
    if (!isset($_POST['name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['message']))
    {
        return_error('Пожалуйста, заполните все обязательные поля.');
    }

    // form field values
    $name = $_POST['name']; // required
    $email = $_POST['email']; // required
    $message = $_POST['message']; // required

    // form validation
    $error_message = "";

    // name
    $name_exp = "/^[a-z0-9 .\-]+$/i";
    if (!preg_match($name_exp,$name))
    {
        $this_error = 'Пожалуйста, введите верное имя.';
        $error_message .= ($error_message == "") ? $this_error : "<br/>".$this_error;
    }        

    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
    if (!preg_match($email_exp,$email))
    {
        $this_error = 'Пожалуйста, введите действительный адрес электронной почты.';
        $error_message .= ($error_message == "") ? $this_error : "<br/>".$this_error;
    } 

    // if there are validation errors
    if(strlen($error_message) > 0)
    {
        return_error($error_message);
    }

    // prepare email message
    $email_message = "Форма подробности ниже .\n\n";

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

    $email_message .= "Name: ".clean_string($name)."\n";
    $email_message .= "Email: ".clean_string($email)."\n";
    $email_message .= "Message: ".clean_string($message)."\n";

require('kmail.class.php');



$mail = new KMail;
$mail->add_to($email);
$mail->set_subject('Теставая тема письма');
$mail->add_body_message($message);
$mail->send();

    // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email."\r\n" .
    'X-Mailer: PHP/' . phpversion();

    if ($mail->send())
    {
        echo json_encode(array('success'=>1, 'message'=>'Форма успешно отправлен .')); 
    }

    else 
    {
        echo json_encode(array('success'=>0, 'message'=>'
Произошла ошибка. Пожалуйста, повторите попытку позже.')); 
        die();        
    }
}
else
{
    echo 'Пожалуйста, заполните все обязательные поля.';
    die();
}
?>
.
(\/)____o_O____(\/)

Udesign, отдельно вообще письмо приходит? то есть просто в пустом файле код как в примере, только почта твоя

.

Koenig, нет нечего не приходит

Всего: 7969