2015-10-17 3 views
0

У меня очень странная проблема. У меня есть форма на моем веб-сайте, которую пользователи заполняют, все работает отлично, с проверкой и работами, это довольно солидно, однако я продолжаю получать 2 из этих писем ежедневно:PHP Продолжайте получать пустые сообщения

Новый запрос был получен от http://www.cccccc.com.au. Ниже приведена подробная информация:

Email : 
Phone Number : 
Event Type: 
Number Guests: 
State: 
Suburb: 
IP ADDRESS:173.245.50.130 
Message: 

Почему я так понимаю?

Я проследил Ip, и это происходит из США, что странно, поскольку наш сайт предназначен для Австралии, и большая часть нашего трафика поступает из Google AdWords. Однако ISP IP - это облачный флеш, который является нашим хостинг-провайдером ....?

enter image description here

Любая идея, почему/как я получаю эти пробелы?

Вот мой сценарий .... довольно Nasic но он получает сообщение к нам

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$mobile = $_POST['mobile']; 
$eventType = $_POST['eventType']; 
$nrGuests = $_POST['nrGuests']; 
$state = $_POST['state']; 
$suburb = $_POST['suburb']; 
$msg = $_POST['msg']; 
$ip = $_SERVER['REMOTE_ADDR']; 


    $to_email  = "[email protected], [email protected]"; 

    $suburb  = filter_var($_POST["suburb"], FILTER_SANITIZE_STRING); 
    $subject  = "You Have a New Booking!"; 
    //Add booking INFO here; 
    $message  = "A new Enquiry has been received from http://www.fingerfoods.com.au. Please find details below and follow up:"; 

    //email body 
    $message_body = $message."\r\n\r\n".$name."\r\nEmail : ".$email."\r\nPhone Number : ". $mobile."\r\nEvent Type: ".$eventType."\r\nNumber Guests:".$nrGuests."\r\nState: ".$state."\r\nSuburb:".$suburb."\r\nIP ADDRESS:".$ip."\r\nMessage:".$msg; 

    //proceed with PHP email. 
    $headers = 'From: '.$name.'' . "\r\n" . 
    'Reply-To: '.$email.'' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    $send_mail = mail($to_email, $subject, $message_body, $headers); 
    if($send_mail) 
    { 
    echo '<h1 class="page-header">Enquiry Successfully submitted</h1>'; 
} 
else{ 
    echo'<h1 class="page-header" style="color:RED">OOPS...SOMETHING WENT WRONG, PLEASE TRY AGAIN!</h1>'; 
} 
     ?> 

Это может звучать немного глупо, но любые идеи, почему я я получаю поле пустым EMAILS ?? AS SEEN ABOVE

+0

Поскольку вы не проверяете наличие пустоты входных данных? Потому что поисковый робот посещает вашу страницу и страницу? –

+0

@u_mulder вы не можете отправить форму без заполнения данных даже с отключенным javascript .... и это тот же самый IP-адрес, исходящий от AMERICA, мы нацеливаем только Австралию, но ISP isp является облачным флером, который является нашим хостинг-провайдером ...? –

+0

Почему я не могу отправить? Если это ваш полный скрипт, то я могу просто посетить этот скрипт и выполнить его. Кто меня останавливает? –

ответ

0

Прежде всего, $_SERVER['REMOTE_ADDR'] дает IP-адрес, с которого запрос был отправлен на веб-сервер. Обычно это адрес посетителя, но в вашем случае это похоже на то, что у веб-сервера есть какой-то прокси-сервер, который перехватывает запросы, поэтому на веб-сервер он выглядит так, как будто запросы происходят оттуда.

Во-вторых, возможно, вы не получаете значения параметров, потому что вы отправляете запросы GET, а не POST, вы можете использовать $_REQUEST (получить содержимое GET, POST и COOKIE varialbe) вместо того, чтобы не различать GET и POST Запросы.

for more info. about requests kinds

И самое главное, вы должны проверить значение входов, не посылать значения формы, если они не являются пустыми!

+0

IM ИЗОБРАЖЕНИЕ, НО ЧТО ЯВЛЯЕТСЯ НИКАКОЙ ОТВЕТНОЙ ЧАСТЬЮ, ЧТО ВЫ МОЖЕТЕ ВИДЕТЬ Я ИСПОЛЬЗУЮ ЗАПРОСЫ «POST» –

+0

Нет, я вижу, что вы пытаетесь получить контент из запроса POST (вы не увидите параметры в URL-адресе) Если форма отправит GET (вы увидите параметры в URL-адресе), вы не получите контент по запросу POST. Поэтому попробуйте использовать $ _REQUEST следующим образом: $ name = $ _REQUEST ['name']; $ email = $ _REQUEST ['email']; –

+0

Я категорически не согласен с вашим предложением! –

Смежные вопросы