Почему не работает моя форма HTML / PHP? - PullRequest
0 голосов
/ 22 июня 2010

Хорошо, я сделал форму, используя HTML, и хотел бы, чтобы она отправляла информацию на мой электронный адрес, поэтому я нашел и изменил этот скрипт PHP:

<?php
$to = "me@myemail.com";
$subject = "R&R Form";
$firstname1 = $_REQUEST['firstname1'] ;
$lastname1 = $_REQUEST['lastname1'] ;
$firstname2 = $_REQUEST['firstname2'] ;
$lastname2 = $_REQUEST['lastname2'] ;
$department1 = $_REQUEST['department1'] ;
$department2 = $_REQUEST['department2'] ;
$reason = $_REQUEST['reason'] ;
$behaviour1 = $_REQUEST['behaviour1'] ;
$behaviour2 = $_REQUEST['behaviour2'] ;
$behaviour3 = $_REQUEST['behaviour3'] ;
$behaviour4 = $_REQUEST['behaviour4'] ;
$behaviour5 = $_REQUEST['behaviour5'] ;
$behaviour6 = $_REQUEST['behaviour6'] ;
$behaviour7 = $_REQUEST['behaviour7'] ;

$message = "Nominee: $firstname1 $lastname1 /n Department: $department1 /n /n Nominator: $firstname2 $lastname2 /n Department: $department2 /n /n Reason for nomination: $reason /n /n Additional reasons: $behaviour1 /n $behaviour2 /n $behaviour3 /n $behaviour4 /n $behaviour5 /n $behaviour6 /n $behaviour7 /n";

$headers = "Recognition and Reward Request for $firstname1 $lastname1";
$sent = mail($to, $subject, $message, $headers,) ;
if($sent)
{print "Your nomination was submitted successfully"; }
else
{print "We encountered an error submitting your nomination"; }
?>

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

Я загрузил его на сервер с установленным PHPтак что это не проблема.Я пытался понять это весь день, и это немного расстраивает.Кто-нибудь, пожалуйста, помогите?

Ответы [ 5 ]

2 голосов
/ 22 июня 2010
$sent = mail($to, $subject, $message, $headers,) ;

должно выглядеть так:

$sent = mail($to, $subject, $message, $headers) ;

(без запятой)

надеюсь, я помог

2 голосов
/ 22 июня 2010

Ну, скрипт использует это для заголовков, что недопустимо:

$headers = "Recognition and Reward Request for $firstname1 $lastname1";

Может быть, вы хотели, чтобы это было темой?

Заголовки должны быть действительными SMTPЗаголовки, как это:

$headers = 'From: webmaster@example.com' . "\r\n";

Посмотрите примеры функции mail для получения дополнительной информации.

0 голосов
/ 22 июня 2010

У него есть синтаксические ошибки.Так как вы их не видите, я предлагаю вам включить полный отчет об ошибках.Есть много способов сделать это;простейшим, вероятно, является добавление этого кода поверх вашего скрипта:

<?php

ini_set('display_errors', true);
error_reporting(E_ALL);

?>
0 голосов
/ 22 июня 2010

Первая проблема, которую я вижу, состоит в том, что $headers не содержит допустимых заголовков.Заголовки - это что-то вроде From: name@example.com или CC: someoneelse@example.com, но вы рассматриваете это как часть письма.

Вот некоторая информация о заголовках письма .

0 голосов
/ 22 июня 2010

Поскольку вы начинающий, я рекомендую вам использовать PEAR как можно чаще.

Посмотрите на: груша html quickform

Это действительно сделает вашу жизнь проще.

А для отправки электронных писем предлагаю использовать: PHPMailer

Он поставляется с множеством функций электронной почты прямо из коробки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...