3

我正在尝试在我的网站上实现 PHP 联系表单,但遇到了一些错误。您可以毫无问题地填写表格,并且电子邮件实际上会通过,但它不会显示感谢页面,而是显示一些 PHP 错误。

Deprecated: Function eregi() is deprecated in /home/travisbass/travismoore.co.uk/include/fgcontactform.php on line 548

Deprecated: Function split() is deprecated in /home/travisbass/travismoore.co.uk/include/class.phpmailer.php on line 470

Warning: Cannot modify header information - headers already sent by (output started at /home/travisbass/travismoore.co.uk/include/fgcontactform.php:548) in /home/travisbass/travismoore.co.uk/include/fgcontactform.php on line 143

我正在使用这个网站的代码

这是我网站的页面

class.phpmailer.php 的代码

fgcontactform.php 的代码

如果您需要更多信息,请告诉我。

感谢任何帮助,谢谢

4

2 回答 2

7

这些消息是不言自明的,这里是您修复它们的方法:

eregi() -> 删除此函数,因为它已被弃用并替换为preg_match()

split() -> 移除这个函数并用explode()替换它或者使用preg_split()

标头已发送-> 在您发送任何标头之前确保没有 HTML。更多详细信息请参考:如何修复 PHP 中的“标头已发送”错误

在这里您可以阅读 PHP 5.3.x 中更多不推荐使用的函数 -> http://php.net/manual/en/migration53.deprecated.php

于 2013-06-07T13:04:44.777 回答
0

尝试:

return (1 === preg_match('/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i', $email));
于 2020-04-16T10:30:56.453 回答