这是我的代码,我从文本框中得到变量,但什么也没有出现。
此代码检查输入是否为数字:
这是一个数字
或否:
这不是一个数字
<?php
echo'<form method="post" action="">';
echo '<input type=text name=t/>';
echo'<input type=submit name=su/>';
echo'</form>';
if(isset($_POST['su']))
{
if (ctype_digit($_POST['t'])) {
echo "This is number.\n";
} else {
echo "This is not a number.\n";
}
}
?>所有的代码都在一页中。
发布于 2015-11-15 21:59:02
您的代码失败了,因为您有未引用的元素/属性。
下列情况需要引号:
echo '<input type=text name=t/>';
^^^^ ^^^^^^
echo'<input type=submit name=su/>';
^^^^^^ ^^^^^^^将代码修改为:
<?php
echo'<form method="post" action="">';
echo '<input type="text" name="t"/>';
echo'<input type="submit" name="su"/>';
echo'</form>';
if(isset($_POST['su']))
{
if (ctype_digit($_POST['t'])) {
echo "This is number.\n";
} else {
echo "This is not a number.\n";
}
}
?>发布于 2015-11-15 21:49:21
您可以使用JS函数isNAN测试一个数字。PHP进程在服务器上,因此一旦加载页面,它就不可用。但是,在页面加载之后,Javascript是可用的。JS是客户端,在浏览器上执行。这里有一个js解决方案:
var test = 1;
if(isNaN(test)) {
alert('String');
} else {
alert('number');
}这会提醒number。
这里有一个关于JS函数,Objects/isNaN的更详细的说明。
发布于 2015-11-15 21:18:20
如果method没有在<form>中定义,那么默认的是GET。所以
<form>是相同的
<form method="GET">如果你想使用$_POST,你需要
<form method="POST">https://stackoverflow.com/questions/33725042
复制相似问题