我服务器上的php已升级到5.4&我的联系表格邮件不再有效。 请注意以下代码:
这是我的HTML
<form id="contact" action="contact.php" method="post" name="contact">
<fieldset id="personal">
<label for="name">Name :</label>
<input name="a_name" type="text" />
<br />
<label for="email">Email : </label>
<input name="a_email" type="text" />
</fieldset>
</form>
和PHP
<?php
import_request_variables("gP");
$msgc .= "Name:\t$name\n";
$msgc .= "Email:\t$email\n";
mail('abc@gmail.com','Message from Website',$msgc,$mheaderc);
?>
请告诉我如何在PHP5.4中使用它 非常感谢。
答案 0 :(得分:1)
在PHP 5.4中删除了PHP函数import_request_variables()
,您可以在文档中阅读:
警告此功能自PHP 5.3.0起已 DEPRECATED 且 REMOVED PHP 5.4.0。
相反,您应该使用$_POST
。
所以,替换
import_request_variables("gP");
与
$name = $_POST['name'];
$email = $_POST['email'];
我还建议检查用户输入是否有效(例如,提供的电子邮件地址实际上是有效的电子邮件地址)并且不包含恶意代码。
答案 1 :(得分:1)
您的问题是使用在5.4中删除的import_request_variables()
,但无论如何都不安全,所以您不应该使用它。请改用$_POST[]
和$_GET[]
。
所以而不是:
import_request_variables("gP');
写:
$name = $_POST['name'];
$email = $_POST['email'];
答案 2 :(得分:0)
更改
$msgc .= "Name:\t$name\n";
$msgc .= "Email:\t$email\n";
到
$msgc = "Name:\t$name\n";
$msgc .= "Email:\t$email\n";
此外,您在哪里定义$mheaderc
,$name
和$email
?