有人可以帮我验证我的代码吗?用户应该只能输入数字或整数。 我已经尝试过使用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"> </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验证。先感谢您 !!
答案 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"> </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"> </td>';
}
$table .= '</tr>';
}
$table .= '</table>';
} else {
return 'you error message';
}
}
?>