0

我有一个正在使用的联系表,我只收到两个通知:

注意:未定义变量:email_content 注意:未定义变量:标头

这是代码

// check if an error was found - if there was, send the user back to the form 
if (isset($error)) { 
$_POST['e'] = $error; 
} else {

// write the email content <-- HERE IS WHERE THE ERROR OCCURS
$email_content .= "Naam:" . htmlspecialchars($name, ENT_QUOTES) . "\n\n"; 
$email_content .= "Tel:" . htmlspecialchars($tel, ENT_QUOTES) . "\n\n"; 
$email_content .= "E-mail:" . htmlspecialchars($email_address, ENT_QUOTES) . "\n\n"; 
$email_content .= "Onderwerp:" . htmlspecialchars($onderwerp, ENT_QUOTES) . "\n\n"; 
$email_content .= "Bericht:" . htmlspecialchars($message, ENT_QUOTES) . "\n\n"; 


/*
$email_content .= "Naam:$name\n\n"; 
$email_content .= "Tel:$tel\n\n"; 
$email_content .= "E-mail:$email_address\n\n"; 
$email_content .= "Onderwerp:$onderwerp\n\n"; 
$email_content .= "Bericht:$message\n\n";
*/ 
$header .= 'From: www.UTI.nl';   <-- AND HERE IS ALSO WHERE THE ERROR OCCURS
// send the email 
mail ("robin2609@gmail.com", "Nieuw bericht van de UTI website", $email_content, $header );   <-- this is 

// send the user back to the form 
$_POST['s'] = 'Bedankt voor uw bericht.';

我错过了什么?我希望你们能帮助我。

亲切的问候,

罗宾

4

6 回答 6

1

您将字符串连接到未定义的变量:

$email_content .= "....";

首先通过为它分配一些东西来定义它:

$email_content = "";
$email_content .= "....";
于 2013-04-24T12:35:43.097 回答
1

您在.=尚未定义的字符串上使用(附加字符串操作数)。PHP 看到了这一点:

$string .= $string2

意思是:

$string = $string . $string2

当它试图解析它时,$string它不存在,因此不能连接$string2或分配给$string.

您应该替换这些行:

$email_content .= "Naam:" . htmlspecialchars($name, ENT_QUOTES) . "\n\n";
...
$header .= 'From: www.UTI.nl';   <-- AND HERE IS ALSO WHERE THE ERROR OCCURS

具有以下内容:

$email_content = "Naam:" . htmlspecialchars($name, ENT_QUOTES) . "\n\n";
...
$header = 'From: www.UTI.nl';

这应该没问题。

于 2013-04-24T12:48:09.027 回答
0

因为您试图附加到$email_content&中未声明的字符串$header

在每个变量的第一行更改.==

于 2013-04-24T12:35:52.437 回答
0

您将字符串附加到未定义的变量。写

$header = "";
$email_content = "";

在你附加某事之前。你会得到其他语言的错误。

于 2013-04-24T12:36:03.457 回答
0

您在第一行中使用它

$email_content .= "Naam:" . htmlspecialchars($name, ENT_QUOTES) . "\n\n"; 

这被解释为

$email_content = $email_content . "Naam:" . htmlspecialchars($name, ENT_QUOTES) . "\n\n";

所以它说未定义的变量。

消除 '。' 从 email_content 和 header 变量的第一行

可能有帮助!!

于 2013-04-24T12:37:19.347 回答
0

您应该初始化此变量。例如,在第一行。

$header = '';
$email_content = '';
于 2013-04-24T12:37:44.967 回答