具有多个验证条件的表单

时间:2014-01-30 15:35:12

标签: php

我有两个文本输入字段(重量和高度)。用户输入值。我希望它能像这样工作:

  • 如果未点击submitButton:请将字段留空
  • 如果按下submitButton并且用户输入非整数:print“int”
  • 如果按下submitButton并且用户输入整数:保持输入可见

验证完成后,重点是保持整数值在字段中可见,如果提供非整数,则为文本“int”,直到用户在两个字段中输入整数(然后单击submitButton

形式:

<input type="text" name="height" value="<?=setValue( "height" )?>" size="4">
<input type="text" name="weight" value="<?=setValue1( "weight" )?>" size="4">

条件:

<?php
function setValue( $fieldName ) {
    if (!isset($_POST["submitButton"]))
        echo "";
    elseif ((isset($_POST["submitButton"]) && ( is_int(isset( $_POST[$fieldName] ) ))))
        echo $_POST[$fieldName];
    elseif ((isset($_POST["submitButton"]) && ( !is_int(isset( $_POST[$fieldName] ) ))))
        echo 'int';
}

function setValue1( $fieldName ) {
        if(!isset($_POST["submitButton"])) echo "";
    elseif ((isset($_POST["submitButton"]) && ( is_int(isset( $_POST[$fieldName] ) )))) 
        echo $_POST[$fieldName];
    elseif ((isset($_POST["submitButton"]) && ( !is_int(isset( $_POST[$fieldName] ) ))))
        echo "int";
}

现在当我在高度输入“1”并按下submitButton时,我在两个字段中都得到“int”。

1 个答案:

答案 0 :(得分:0)

简单的方法是使用html5'number'类型验证输入。

以下示例仅允许整数作为输入。但是它可能无法在所有浏览器中使用:

<input type="number" name="height" id="height" />

如果你想使用PHP,你需要在目标文件中验证它:

表格档案:

<input type="text" name="height" id="height" size="4" />

目标文件

if(is_int($_POST['height'])
      ...do something...