如何将表单和php正则表达式链接在一起


How to link the form and php regex together?

我是php的新手。我现在要做的是使用正则表达式创建一个电子邮件验证表单。当用户在文本字段中输入一些愚蠢的内容并单击提交时。它将显示电子邮件无效。我使用正则表达式来测试用户是否输入了正确的格式。有人能指导我如何将php正则表达式与表单链接在一起吗?

<form action= " " method = "post">
    <p> Enter your email </p>
    <input type ="text" name ="user_email"/>
    <input type ="Submit" /> 
</form>

<?php 
$email = " abc@gmail.com ";
$regex = "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+'.[a-zA-Z0-9-.]+$"; 
if (preg_match ($regex, $email )){
        echo $email . "is a valid email";
    }else{
        echo $email. " is an invalid email ";
    }
?>

更改

$email = " abc@gmail.com ";

$email = $_POST['user_email'];

然后它将从表单中获取输入。由于您正在将数据发布到脚本中,因此您发布的所有变量都将最终出现在超级全局$_POST中。

您可以通过多种方式链接$_POST请求,例如:

$email = $_POST['user_email'];

此外,preg_match需要一个开始和结束分隔符才能正常工作:

$regex = "/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+'.[a-zA-Z0-9-.]+$/"; 

结果:

 abc@gmail.com  is an invalid email 

示例:

http://ideone.com/igphq1