Опубликовать отчет об ошибке, нажав кнопку JQuery не работает

0

Небольшая проблема здесь, мне нужно разместить кнопку на моей странице 404, чтобы попросить людей отправить сообщение об ошибке.

Проблема в том, что на самом деле ничего не происходит, я имею в виду, что никакая почта не получена и ошибки не отображаются, поэтому я смущен.

Мой отчет очень простой, он собирает все данные того, что мой пользователь сделал, прежде чем получить 404

$site  = "mySite.com";
$email = "[email protected]";

$http_host    = $_SERVER['HTTP_HOST'];
$server_name  = $_SERVER['SERVER_NAME'];
$remote_ip    = $_SERVER['REMOTE_ADDR'];
$request_uri  = $_SERVER['REQUEST_URI'];
$cookie       = $_SERVER["HTTP_COOKIE"];
$http_ref     = $_SERVER['HTTP_REFERER'];
$user_agent   = $_SERVER['HTTP_USER_AGENT'];
$error_date   = date("D M j Y g:i:s a T");

$subject = "404 Alert";

$headers  = "Content-Type: text/plain"."\n";
$headers .= "From: ".$site." <".$email.">"."\n";

$message  = "404 Error Report for ".$site."\n";
$message .= "Date: ".$error_date."\n";
$message .= "Requested URL: http://".$http_host.$request_uri."\n";
$message .= "Cookie: ".$cookie."\n";
$message .= "Referrer: ".$http_ref."\n";
$message .= "User Agent: ".$user_agent."\n";
$message .= "IP Address: ".$remote_ip."\n";
$message .= "Whois: http://ws.arin.net/cgi-bin/whois.pl?queryinput=".$remote_ip;

это моя форма, все поля скрыты, которые помещены в один файл вместе с php-кодом выше

<form name="form" method="POST" id="report-form">
<div class="form">
<input type="hidden" name="message" value="$message">
<div class="done">
<p><strong>Thank you!</strong></p>
</div>
<div class="error">
<p><strong>Error!</strong> Sorry, something went wrong, please try again.</p>
</div>
<input type="hidden" name="visitor" value="">
<input type="hidden" name="submitted" value="submitted">
<input type="submit" name="submit" value="Submit" class="formSubmit" />
</div>
</form>
<script type="text/javascript" src="js/report_validation.js"><\/script>

вот мой скрипт проверки jQuery, который я пытаюсь использовать, который находится в отдельном файле с именем report_validation.js в папке js

$(document).ready ( function() {

    $('.formSubmit').click(function() {        

        // Store values in variables
        var form = $(this).closest('form');
        var message = form.find('input[name=message]');
        var submitted = form.find('input[name=submitted]');
        var visitor = form.find('input[name=visitor]');

        // Organize data
        var data = 'message=' + message.val() + '&submitted=' + submitted.val() + '&visitor=' + visitor.val();

        var request = $.ajax({
            type: "POST",
            url: "includes/report_form_mail.php",
            data: data,
            cache: false,
            success: function (html) {
                if (html == "true") {
                    form.find('.done').fadeIn(500).delay(4000).fadeOut(500);                    
                }
            },
            error: function(jqXHR, textStatus, error) {

                alert("Form Error: " + error);
            }
        });
        return false;
    });
});

вот мой почтовый скрипт, который также помещен в отдельный файл и с именем report_form_mail.php в моей incudes папке

// Check if form was submitted
if ($_POST['submitted'] && $_POST['visitor'] == '') {

    // If valid, store values in variables
    $site  = "mySite.com";
    $email = "[email protected]";

    $mes = stripslashes($_POST['message']);

    $subject = "404 Alert";
    $headers  = "Content-Type: text/plain"."\n";
    $headers .= "From: ".$site." <".$email.">"."\n";    
    $message = "Message: $mes";

    // Send email
    $sent = mail($email, $subject, $message, $headers);

    if($sent) {
        echo json_encode(true);
    } else {
    echo "Error: Mail could not be send.";
    exit();
    }
} else {
    echo "Error: There was a problem with submitting the form";
    exit();
}

Пожалуйста, помогите мне разобраться во всем этом

Теги:
validation
forms
post

1 ответ

0
Лучший ответ

Я сам сам нашел ошибку.

JQuery не был загружен на страницу правильно, поэтому я исправил ее, и моя форма работает отлично.

Спасибо всем

Ещё вопросы

Сообщество Overcoder
Наверх
Меню