检查输入内容是否为数字或仅字母,然后在提交时回显结果

时间:2018-11-30 20:55:55

标签: php phpmailer

我正在制作一个检查名称输入并在使用IF语句按下提交按钮时回显结果的表单。但是我不能让它工作。我在做什么错了?

<form id="AUTO"   method="post" action="" novalidate>
    <input type="hidden" name="token" value="<?php echo $token; ?>"/>
    <input type="hidden" name="miles" value=""/>
    <div id="contact_name">FULL NAME: *<br>
        <input id="element_2_1" name="name" class="element text" size="15" 
            maxlength="15" value="" type="text" placeholder="FULL NAME">
    </div>  
    <input type="submit" name="submit" class="submit action-button" value="SUBMIT" />
</form>

$Name = $_POST['Name'];

if (isset($_POST['submit'])) {
    //checks name field for a number if one exist echo has a number
    if (preg_match('|[0-9]', $Name)) {
        echo 'has a number';
    } else {
        echo 'Does not contain a number';
    }
}

3 个答案:

答案 0 :(得分:0)

表单输入标签的名称为name,但是您试图获取Name的值POST索引。

正确将是

$Name = $_POST['name'] ;

保持名字大小写。

答案 1 :(得分:0)

如果将表单名称设置为小写,则表单是关键的

    <input id="element_2_1" name="name" class="element text" size="15"
maxlength="15" value="" type="text" placeholder="FULL NAME">

在服务器端,您应该将其捕获为小写,如下所示。

 $name = $_POST['name'];

这就是从服务器端的表单中调用变量的方式。

希望这可以帮助您解决问题。

谢谢

答案 2 :(得分:0)

<form id="AUTO"   method="post" action="" novalidate>
<input type="hidden" name="token" value="<?php echo $token; ?>"/>
<input type="hidden" name="miles" value=""/>
<div id="contact_name">FULL NAME: *<br>
<input id="Name" name="Name" class="element text" size="15" maxlength="15" type="text" placeholder="Full Name" value=""></div>   
<input type="submit" name="submit" class="submit action-button" value="SUBMIT" />
</form>




<?php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$Name = $_POST['Name'] ;




if (preg_match('#[0-9]#',$Name)){
echo 'has number';
}else{
    echo 'no number';

}





?>