我的服务器上的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中获得此工作
PHP函数import_request_variables()
在PHP 5.4中被删除,您可以在文档中阅读:
警告此函数已在PHP 5.3.0中弃用, 已被删除PHP 5.4.0。
您应该使用$_POST
。
所以,取代
import_request_variables("gP");
$name = $_POST['name'];
$email = $_POST['email'];
我还建议检查用户输入是否有效(例如,提供的电子邮件地址实际上是一个有效的电子邮件地址),并且不包含恶意代码。
你的问题是使用import_request_variables()
,在5.4中删除,但这是不安全的,所以你不应该使用它。使用$_POST[]
和$_GET[]
代替。
所以不是:
import_request_variables("gP');
写:
$name = $_POST['name'];
$email = $_POST['email'];
变化
$msgc .= "Name:'t$name'n";
$msgc .= "Email:'t$email'n";
$msgc = "Name:'t$name'n";
$msgc .= "Email:'t$email'n";
还有,你在哪里定义了$mheaderc
、$name
和$email
呢?