如果我使用此代码作为输入数字,它可以正常工作
<form method = "post">
Hours: <input type="text" name="myvar">
</form>
<?php
require 'connect.php';
if (isset($_POST["myvar"])) {
但是如果获得2个数字,下面的代码就不会通过。我怎样才能做到这一点?
<form method = "post">
Hours: <input type="text" name="myvar">
</form>
<form method = "post">
Minutes: <input type="text" name="myvar2">
</form>
<?php
require 'connect.php';
if (isset($_POST["myvar"]) && isset($_POST["myvar2"])) {
答案 0 :(得分:3)
仅使用一种表格。此外,如果有多个输入,则需要输入submit
或image
类型,以便您提交表单。
<form method = "post">
Hours: <input type="text" name="myvar"/>
Minutes: <input type="text" name="myvar2"/>
<input type="submit"/>
</form>
我假设您不想显示提交按钮,您可以做的是使用css将按钮从屏幕上移开。
<form method = "post">
Hours: <input type="text" name="myvar"/>
Minutes: <input type="text" name="myvar2"/>
<input type="submit"
style="position: absolute; left: -9999px; width: 1px; height: 1px;"
tabindex="-1" />
</form>
答案 1 :(得分:1)
您正在使用2个表单元素..将其设为
<form method = "post">
Hours: <input type="text" name="myvar">
Minutes: <input type="text" name="myvar2">
</form>
答案 2 :(得分:0)
您正在使用2 forms element
。两个输入都应该在form
<form method = "post">
Hours: <input type="text" name="myvar">
Minutes: <input type="text" name="myvar2">
</form>
答案 3 :(得分:0)
正如其他人已经提到的那样,你确实应该在同一个表单标签中都有两个输入字段。背后的原因是:
表单用于包含提交后发送到服务器的数据。如果您有多个表单,则只会发送您提交的表单中的数据
因此,当您提交其中一个表单时,myvar
或 myvar2
将被发送到服务器。不是两个。
因此,如果你检查它们是否都已设置,它将失败,因为它们不是。
将两个输入字段放在同一个表单中将解决此问题:
<form method="post">
Hours: <input type="text" name="myvar">
Minutes: <input type="text" name="myvar2">
</form>
答案 4 :(得分:0)
您可以使用两个表单,但操作应该相同,然后您可以使用$_POST
方法获取两个变量值。
答案 5 :(得分:0)
时间:
Minutes: <input type="text" name="myvar2" value="">
<input type="submit" name="submit" value="submit"/>
<?php
if (isset($_POST['submit']) && !empty($_POST['submit']))
{
echo $_POST['myvar'];
echo "<br/>";
echo $_POST['myvar2'];
}
&GT;
答案 6 :(得分:0)
您只需要在两个字段中使用一个表单:
<form method="post">
Hours: <input type="text" name="myvar">
Minutes: <input type="text" name="myvar2">
<input type="submit" name="submit">
</form>
在PHP中,您可以使用!empty()
进行表单输入。
<?
if (!empty($_POST["myvar"]) && !empty($_POST["myvar2"])) {
...
?>
第二个解决方案,如果你仍然想使用isset()
而不是添加!empty()进行检查:
<?
if (isset($_POST["myvar"]) && !empty($_POST["myvar"]) &&
(isset($_POST["myvar2"]) && !empty($_POST["myvar2"]))) {
echo "<pre>";
print_r($_POST);
}
?>