【发布时间】:2013-12-28 21:47:44
【问题描述】:
这是我在我的网站上试用联系表格时得到的:已弃用:函数 eregi() 在第 9 行的 /home/content/04/11965204/html/horizon/One/contact.php 中已弃用 消息已发送!
这是我的代码:请帮助 - 谢谢
<?php
if(!$_POST) exit;
$email = $_POST['email'];
//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST
['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]
{2,}"."$",$email )){
$error.="Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$values = array ('name','email','message');
$required = array('name','email','message');
$your_email = "horizon.electronics.recyclers@gmail.com";
$email_subject = "New Message: ".$_POST['subject'];
$email_content = "new message:\n";
foreach($values as $key => $value){
if(in_array($value,$required)){
if ($key != 'subject' && $key != 'company') {
if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
}
$email_content .= $value.': '.$_POST[$value]."\n";
}
}
if(@mail($your_email,$email_subject,$email_content)) {
echo 'Message sent!';
} else {
echo 'ERROR!';
}
}
?>
【问题讨论】:
-
请改用
preg_match()。由于某种原因,您的代码中已将其注释掉。 -
我喜欢 PHP 手册中所说的
eregi()已弃用 但没有说明替代品是什么 -
php.net/manual/en/function.eregi.php => "从 PHP 5.3.0 开始不推荐使用提示 eregi()。建议使用带有 i (PCRE_CASELESS) 修饰符的
preg_match()。" @Bojangles -
它在那儿,但在首屏下方半个屏幕,这是一个提示。甚至没有警告。为什么大红框没有说明错误是什么?典型的 PHP
标签: php