Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php,html表单提交_Php_Html - Fatal编程技术网

Php,html表单提交

Php,html表单提交,php,html,Php,Html,为什么我下面的代码总是返回“请填写所有字段” 以下对您的表单的简化有效(对我来说-请参阅): 像这样试试。使用jquery或javascript进行验证 <?php if(isset($_POST['submitted']) && isset($_POST['Distance']) && isset($_POST['EndTime'])) { echo "<table border='1'>"; for ($StartTime

为什么我下面的代码总是返回“请填写所有字段”


以下对您的表单的简化有效(对我来说-请参阅):


像这样试试。使用jquery或javascript进行验证

<?php
if(isset($_POST['submitted']) &&  isset($_POST['Distance']) && isset($_POST['EndTime']))
{
 echo "<table border='1'>";
        for ($StartTime = 1; $StartTime <= $_POST['EndTime']; $StartTime++) {
            echo"<tr><td>".$StartTime."</td><td>".$StartTime*$_POST['Distance']."</td></tr>";
        }
        echo '</table>';
}else{
    echo '
            <div id="err" style="color:red;"></div>
            <form action="" method="POST" onsubmit="return validate()">
                Total Trip Time: <input type="text" id="EndTime" name="EndTime"><br>
                Miles Per Hour: <input type="text" id="Distance" name="Distance"><br>
                                <input type="hidden" id="submitted" name="submitted" value="1">
                                <input type="submit" value="Submit">
            </form>                 
          ';

}
?>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
function validate()
{
    endtime = $("#EndTime").val();                   
    distance = $("#Distance").val();
    submitted = $("#submitted").val();
    if(endtime == "" || distance == "" || submitted == "")
    {
        $("#err").html("Please enter all fields");
        return false;
    } else {
        $("#err").html("");
    }
    return true;
}

</script>

尝试使用
$\u请求
而不是使用
$\u发布
。如果发生任何错误,在这里张贴,并告诉我是什么错误

<?php
    if(isset($_REQUEST['submitted']) == "" || isset($_REQUEST['EndTime']=='') || isset($_REQUEST['Distance'] =='')) {
       echo '
                <form action="" method="POST">
                    Total Trip Time: <input type="text" name="EndTime"><br>
                    Miles Per Hour: <input type="text" name="Distance"><br>
                    <input type="hidden" name="submitted" value="1">
                    <input type="submit" value="Submit">
                </form>                 
                ';
        }
        else {
     echo "<table border='1'>";
            for ($StartTime = 1; $StartTime <= $_POST['EndTime']; $StartTime++) {
                echo"<tr><td>".$StartTime."</td><td>".$StartTime*$_POST['Distance']."</td></tr>";
            }

        }
    ?>

为什么不尝试向输入字段添加
required
,以确保已填写?不是你要寻找的答案,只是增加了一个检查,你知道哪些条件触发了消息吗?消息是红色的吗?你想要什么结果?为什么把所有的$\u POST都放在空值中?为什么不使用复合
if
语句
if(isset($\u POST['submitted'])和&$\u POST['Distance']!=''&…
@Floris你能帮我再详细一点吗。谢谢你,但是我该如何用同样的方法对缺少的字段进行错误更正。@无情的我已经更新了代码-现在,如果你第一个条件失败,但是
$\u POST['submitted']
已设置,您知道其他字段中有一个未填写-因此您添加了错误消息。显然你可以从这里适应。谢谢你的建议,但我们不允许使用javascript o html5。
<?php
if(isset($_POST['submitted']) &&  isset($_POST['Distance']) && isset($_POST['EndTime']))
{
 echo "<table border='1'>";
        for ($StartTime = 1; $StartTime <= $_POST['EndTime']; $StartTime++) {
            echo"<tr><td>".$StartTime."</td><td>".$StartTime*$_POST['Distance']."</td></tr>";
        }
        echo '</table>';
}else{
    echo '
            <div id="err" style="color:red;"></div>
            <form action="" method="POST" onsubmit="return validate()">
                Total Trip Time: <input type="text" id="EndTime" name="EndTime"><br>
                Miles Per Hour: <input type="text" id="Distance" name="Distance"><br>
                                <input type="hidden" id="submitted" name="submitted" value="1">
                                <input type="submit" value="Submit">
            </form>                 
          ';

}
?>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
function validate()
{
    endtime = $("#EndTime").val();                   
    distance = $("#Distance").val();
    submitted = $("#submitted").val();
    if(endtime == "" || distance == "" || submitted == "")
    {
        $("#err").html("Please enter all fields");
        return false;
    } else {
        $("#err").html("");
    }
    return true;
}

</script>
<?php
    if(isset($_REQUEST['submitted']) == "" || isset($_REQUEST['EndTime']=='') || isset($_REQUEST['Distance'] =='')) {
       echo '
                <form action="" method="POST">
                    Total Trip Time: <input type="text" name="EndTime"><br>
                    Miles Per Hour: <input type="text" name="Distance"><br>
                    <input type="hidden" name="submitted" value="1">
                    <input type="submit" value="Submit">
                </form>                 
                ';
        }
        else {
     echo "<table border='1'>";
            for ($StartTime = 1; $StartTime <= $_POST['EndTime']; $StartTime++) {
                echo"<tr><td>".$StartTime."</td><td>".$StartTime*$_POST['Distance']."</td></tr>";
            }

        }
    ?>