2017-02-06 16 views
0

При заполнении формы она отправляется успешно. Поэтому мне нужно включить или включить phpmailer? Форма отправляется через submit.php, но контактная форма является html-страницей. Нужно ли мне также создать страницу контактов php. Разрешения Chmod для submit.php - 755. В скрипте у меня есть адрес электронной почты правильно. У меня установлен phpmailer, нужно ли его активировать?Эта форма контакта полностью функционирует?

<?php 
// specify your email here 

$to = '[email protected]'; 

// Assigning data from $_POST array to variables 
if (isset($_POST['name'])) { $name = $_POST['name']; } 
if (isset($_POST['email'])) { $from = $_POST['email']; } 
if (isset($_POST['company'])) { $company = $_POST['company']; } 
if (isset($_POST['message'])) { $message = $_POST['message']; } 

// Construct subject of the email 
$subject = 'Contact Inquery ' . $name; 

// Construct email body 
$body_message .= 'NAME: ' . $name . "\r\n\n"; 
$body_message .= 'EMAIL: ' . $from . "\r\n\n"; 
$body_message .= 'SUBJECT: ' . $company . "\r\n\n"; 
$body_message .= 'MESSAGE: ' . $message . "\r\n\n"; 

// Construct headers of the message 
$headers = 'From: ' . $from . "\r\n"; 
$headers .= 'Reply-To: ' . $from . "\r\n"; 

$mail_sent = mail($to, $subject, $body_message, $headers); 

if ($mail_sent == true) { ?> 
    <script language="javascript" type="text/javascript"> 
     window.alert("Sent Successfuly."); 
    </script> 
<?php } else { ?> 
    <script language="javascript" type="text/javascript"> 
     window.alert("Error! Please Try Again Later."); 
    </script> 
<?php 
} // End else 
?> 
+2

Вы в настоящее время не используете PHPMailer; вы вызываете функцию PHP 'mail()' напрямую (и неправильно). Вам нужно как минимум * попробовать * прочитать некоторые документы. [Это может быть лучшим стартовым местом] (https://github.com/PHPMailer/PHPMailer/blob/master/examples/contactform.phps). – Synchro

ответ

1
  1. В настоящее время, ваша форма не должна быть оказана PHP. Таким образом, он может храниться в HTML-файле.
  2. Когда вы говорите:

    форма посылается через submit.php

    Я думаю, что вы хотите сказать:

    Форма отправки вsubmit.php

    Если это так, то я думаю, что исходный код, который вы отправили, - это содержимое этого файла.

  3. Что касается отправки по электронной почте, вы используете встроенную функцию PHP mail() . Но эта функция use the sendmail binary, которая должна быть установлена ​​на вашем сервере . Более того, вы должны setup the appropriate settings в файле php.ini, чтобы ваш хост правильно отправить электронное письмо.
  4. PHPMailer является хорошей заменой, так как он не требует каких-либо внешних зависимостей . Это simple example покажет вам, как использовать .

N.B: Я вижу, что вы PHP код очень прост и я вывожу, что вы новичок, что вы взяли этот исходный код где-то, и что вы на самом деле не понимаю. Это верно. Вы должны начать с чего-то.

НО:

Будьте осторожны с этим кодом! Он принимает пользовательские входы и отправляет его без каких-либо проверок качества.. Я рекомендую вам , чтобы не разворачивать этот код в рабочей среде (если он предназначен для тестирования и обучения, это верно).

Посмотрите на this answer about PHP user input sanitation. Он не говорит о санитарии для отправки по электронной почте. Но может быть хорошей отправной точкой для понимания того, как это работает в основном. Затем вы должны искать сами.