Php 函数eregi()已弃用(在我身上)
我的网站有一个联系表格,上面写着: 已弃用:函数eregi在中已弃用 /home/sessionj/domains/XXX.com/public_html/test/contactform.php on 第12行 但是这封邮件是发给我的,而且警告很烦人 有坏代码吗Php 函数eregi()已弃用(在我身上),php,Php,我的网站有一个联系表格,上面写着: 已弃用:函数eregi在中已弃用 /home/sessionj/domains/XXX.com/public_html/test/contactform.php on 第12行 但是这封邮件是发给我的,而且警告很烦人 有坏代码吗 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <link rel="stylesheet" hr
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="css/style.css" />
<title> Contact Form</title>
</head>
<body>
<?php
function is_valid_email($vemail) {
$result = TRUE;
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $vemail)) {
$result = FALSE;
}
return $result;
}
//if "email" is filled out, send email
if (isset($_REQUEST['email']) && $_REQUEST['email'] != '' && $_REQUEST['name'] != '' && $_REQUEST['message'] != ''
&& is_valid_email($_REQUEST['email']))
{
//send email
$email = $_REQUEST['email'] ;
$name = $_REQUEST['name'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
$recievers_email = "info@xxx.com";
mail($recievers_email, "$subject",
$message, "From:" . $email);
echo "<p class='form_success'>Message sent! Thank you!</p><p class='form_success_sub'>We'll reply as soon as possible, SJ.</p>";
}
else
{
//if "email" is not filled out, display the form
if(!is_valid_email($_REQUEST['email']))
{
echo "<p class='form_error'>Please, insert an email address.</p>";
}
else if($_REQUEST['name'] == '')
{
echo "<p class='form_error'>Please, write your name.</p>";
}
else if($_REQUEST['message'] == '')
{
echo "<p class='form_error'>Please, leave your message.</p>";
}
}
?>
</body>
</html>
弃用是应用于计算机软件功能、特性或实践的一种状态,表明应避免使用它,通常是因为它被取代 请看一下eregi的PHP手册。如您所见,它有以下警告: 从PHP 5.3.0开始,此函数已被弃用。非常不鼓励依赖此功能 再往下一页,有一些关于如何使用的建议: 从PHP5.3.0开始,eregi就被弃用了。建议的备选方案是使用i PCRE_无壳修改器进行preg_匹配
因此,您可以改用preg_match函数。更简单,即使只是验证电子邮件地址:最好解释一下ereg和preg之间的区别,比如包含分隔符和不区分大小写的标志。