我有一个完美工作的乘法表,除了一个小小的不幸。我需要消息"无效的条目!"仅当我通过输入字段提交空查询时出现。问题在于消息在那里,在我的本地主机中首次打开桌子时凝视着我。
有什么想法吗?预先感谢。
代码:
<html>
<form method="post" action="php32-table.php">
<input type="text" name="num">
<input type="submit" value="get table">
</form>
</html>
<?php
$num = isset($_POST["num"]) ? $_POST["num"] : "";
if($num) {
for($i = 1; $i <= 10; $i++)
{
$mul = $num * $i;
echo "$num * $i = $mul<br>";
}
} else {
echo "invalid entry!";
}
?>
num将始终设置,因为它是文本字段。您需要做的是检查字段是否为空。下面的代码应起作用。
<?php
if (isset($_POST["submit"])){
if(!empty(trim($_POST['num'])) {
$num = $_POST['num'];
for($i = 1; $i <= 10; $i++)
{
$mul = $num * $i;
echo "$num * $i = $mul<br>";
}
} else {
echo "invalid entry!";
}
}
?>
您可以检查是否设置了$_POST["num"]
变量。这样,您就可以知道表格是否已发布。
<?php
if (isset($_POST["num"]))
{
$num = isset($_POST["num"]) ? $_POST["num"] : "";
if ($num) {
for ($i = 1; $i <= 10; $i++)
{
$mul = $num * $i;
echo "$num * $i = $mul<br>";
}
} else {
echo "invalid entry!";
}
}
?>
我删除了用于测试目的的操作的链接,我也更喜欢亲自运行同一文件中的表单的PHP,因此下面我的示例是如何做到这一点。您可以随时参考您的原始内容,并将PHP放在php32-table.php
文件中。
您可以通过在name="submit"
中添加如下:
<form method="post" action="">
<input type="text" name="num">
<input type="submit" value="get table" name="submit">
</form>
您可以检查是否已使用isset
按下提交按钮,并且是否已单击,然后在{}之间运行代码如下:
<?php
if (isset($_POST['submit']))
{
$num = isset($_POST["num"]) ? $_POST["num"] : "";
if ($num) {
for ($i = 1; $i <= 10; $i++)
{
$mul = $num * $i;
echo "$num * $i = $mul<br>";
}
} else {
echo "invalid entry!";
}
}
?>
说实话,要保持更清洁,我要删除:$num = isset($_POST["num"]) ? $_POST["num"] : "";
,然后将该行更改为:
if (!empty($_POST['num']))
{
// run code
} else {
// output error
}
将您的输入类型更改为号码。
<input type="number" name="num">
在这里php代码
if(isset($_POST["num"])){
$num = $_POST["num"];
if($num)
{
for($i = 1; $i <= 10; $i++)
{
$mul = $num * $i;
echo "$num * $i = $mul<br>";
}
}
else
{
echo "invalid entry!";
}
}
?>
您必须检查$ _post ['submit']是否设置
<html>
<form method="post" action="php32-table.php">
<input type="text" name="num">
<input type="submit" name='submit' value="get table">
</form>
</html>
<?php
if (isset($_POST["submit"])){
$num = isset($_POST["num"]) ? $_POST["num"] : "";
if($num) {
for($i = 1; $i <= 10; $i++)
{
$mul = $num * $i;
echo "$num * $i = $mul<br>";
}
} else {
echo "invalid entry!";
}
}
?>