手机号码验证如何随URL而变化


How Mobile number validation varies with the URL?

我已经编写了手机号码验证脚本,正如您在下面看到的那样。问题是它在URL1上运行良好。但在URL2上运行不好。我想知道为什么?

URL1-http://axbc.com/con/s2.php

URL2-http://axbc.com/con/s2.php?key=d908e8401774411861043

这是我的代码

if(isset($_POST['btn-signup']))
{
    $mobilenumber = $_POST['mobilenumber'];
    if(!empty($dialogmobilenumber)) // phone number is not empty
    {
        if(preg_match('/^947'd{8}$/',$mobilenumber)) // phone number is valid
        {
            echo 'success';
        }
        else // phone number is not valid
        {
            echo "<script>alert('Mobile Number is Not valid.. Format should be ');
                 </script>";
        }
    }
}

您的代码在两个url中都运行良好。它在做什么,它的意义是什么,它匹配从"947"开始的所有11位数字+8个。

因为,在这段代码中,您没有在任何地方使用传递的变量,所以它永远不会是导致错误的原因。

有一件事,您在$mobilenumber变量中接收手机号码作为POST。那么,为什么要使用$dialogmobilenumber来检查它是否为空呢?你在程序中的任何地方定义过这个吗。

if(!empty($dialogmobilenumber)) // phone number is not empty
    { ...

还有一件事,你的表格也出现在s2.php中吗?如果没有,您的操作包含表单的(action="?")是什么?

注意:如果您可以粘贴完整的代码和输出URL2,那就好了。