我失去了验证我的代码

时间:2016-09-22 17:43:03

标签: php html validation

有人可以帮我验证我的代码吗?用户应该只能输入数字或整数。 我已经尝试过使用ctype_digit isnumeric和其他一些,但可能是因为我不太明白如何使用它没有什么是成功的

<?php
    $table = '';

    if ($_POST) {
        $table .= '<table border="4">';
        for ($i = 0; $i < $_POST['rows']; $i++) {
            $table .= '<tr>';
            for ($j = 0; $j < $_POST['column']; $j++) {
                $table .= '<td width="100">&nbsp;</td>';
            }
            $table .= '</tr>';
        }
        $table .= '</table>';
    }

?>

<?php echo "A table with "; echo $_POST['rows']; echo " row(s) and "; echo  $_POST['column']; echo " column(s) " ;?>

<?php
    echo $table;

?>


             <form action="" method="post">
        <table border="0" width="729">
            <tr>
                <td width="39"><label>Rows :</label></td>
                <td width="144"><input type="text" name="rows"></td>

                <td width="51" ><label>Column :</label></td>
                <td width="352" ><input type="text" name="column"></td>
            </tr>

            <tr>
                <td colspan="2" align="center"><input type="submit" value="Create table"></td>
            </tr>
        </table>    

    </form>
    <br />
    <br />

表单应该使用PHP验证。先感谢您 !!

2 个答案:

答案 0 :(得分:0)

谢天谢地,对于我填写代码给您带来的任何不便,我深表歉意。

<?php
    $table = '';
    $row= $_POST['rows'];
    $column=$_POST['column'];
    if (isset ($_POST['submit'])){
        if($row=="")
        $error= "error : please fill out row";

        else if($column=="")
        $error= "error : please fill out column";

        elseif(is_numeric($row)==FALSE)
        $error= "error number only";

        elseif(is_numeric($column)==FALSE)
        $error= "error number only";

        else
        {

        $table .= '<table border="4">';
        for ($i = 0; $i < $_POST['rows']; $i++) {
            $table .= '<tr>';
            for ($j = 0; $j < $_POST['column']; $j++) {
                $table .= '<td width="100">&nbsp;</td>';
            }
            $table .= '</tr>';
        }
        $table .= '</table>';


echo "A table with "; echo $row; echo " row(s) and "; echo  $column; echo " column(s) " ;

    echo $table;

    }
    }
?>
    <?php 
    if (isset($error))
    {
        echo "<font color='FF0000'><center><b>". $error .
        "</b></center></font>";
    }
    ?>

             <form action="" method="post" >
        <table border="0" width="729">
            <tr>
                <td width="39"><label>Rows :</label></td>
                <td width="144"><input type="text" name="rows"></td>

                <td width="51" ><label>Column :</label></td>
                <td width="352" ><input type="text" name="column"></td>
            </tr>

            <tr>
                <td colspan="2" align="center"><input type="submit" name="submit" value="Create table"></td>
            </tr>
        </table>    

    </form>
    <br />
    <br />

答案 1 :(得分:-1)

你的问题不是很清楚,但我不知道这样的事情是否适合你。

<?php
$table = '';

if ($_POST) {
  if(is_numeric($_POST['postVariable'] && is_int($_POST['postVariable']) {
    $table .= '<table border="4">';
    for ($i = 0; $i < $_POST['rows']; $i++) {
        $table .= '<tr>';
        for ($j = 0; $j < $_POST['column']; $j++) {
            $table .= '<td width="100">&nbsp;</td>';
        }
        $table .= '</tr>';
    }
    $table .= '</table>';
   } else {
      return 'you error message'; 
   }

}


?>