if(isset($ _ POST [“myvar”])&& isset($ _ POST [“myvar2”])失败

时间:2016-01-20 09:16:59

标签: php forms http post

如果我使用此代码作为输入数字,它可以正常工作

<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"])) {

7 个答案:

答案 0 :(得分:3)

仅使用一种表格。此外,如果有多个输入,则需要输入submitimage类型,以便您提交表单。

<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);
}
?>