表单未导航到其他页面

时间:2012-03-26 17:23:52

标签: php jquery html forms

<form id="enter" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" onsubmit="return validateForm(this);" >
    <p>
        <input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" onClick="myClickHandler(); return false;" />
    </p>
</form> 

<script type="text/javascript">
    function myClickHandler(){
         if(validation()){
                    showConfirm();
         }
    }
</script>

<?php
    session_start();

    $outputDetails = "";
    $outputDetails .= "<table id='sessionDetails' border='1'>
                            <tr>
                                <th>Number of Sessions:</th> 
                                <th>{$_POST['sessionNum']}</th>
                            </tr>";
    $outputDetails .= "</table>";
    echo $outputDetails;
?>

以上是我的表单的代码。我想要做的是,如果用户提交表单,它将返回到自己的页面。但是如果“SessionNum”等于'1',那么它不应该将表单发布到自身,而应该发布表单或者换句话说导航到“session_marks.php”页面,但是如果sessionNum等于1那么它不是idng它仍然提交表单或导航回自己的页面,我做错了什么?

还可以说它显示了sessionNum的一个数字,然后我提交了表单并将表单提交回自身,数字消失了,如何在将表单提交给自己时显示数字?

由于

2 个答案:

答案 0 :(得分:1)

更改表单帖子目标的条件逻辑在哪里?我在form标记中看到的只有:

action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"

这将始终将form的{​​{1}}设置为当前的PHP文件,而不是任何其他PHP文件。如果要有条件地发布到不同的文件,则需要在其中添加条件逻辑。这样的事情(虽然可能有更好的方法来做到这一点,但请记住,我非常在PHP的实践中):

action

至于消失的数字,我没有看到任何名为action="<?php $_POST['sessionNum'] == 1 ? echo 'session_marks.php' : echo htmlentities($_SERVER['PHP_SELF']); ?>" 的表单元素。如果没有这样的表单元素,那么sessionNum中将没有任何内容,因此该数字将“消失”,因为没有值可以显示。

答案 1 :(得分:0)

如果以上是您的实际代码,session_start();必须放在任何其他输出之前(html,php的回声,打印等......)