PHP表单提交没有重新加载整页,必须提交两次

时间:2013-06-10 20:00:48

标签: php forms

我在创建的表单上遇到了一些麻烦,似乎没有重新加载整个页面,只是表单中的部分。我正在使用一个MVC方法,该方法使用switch语句来加载不同的选项卡选项。

相关位在这里:

首先,我们检查用户状态变量,并检查他们的角色是否已设置。这一切似乎都适用于if选择。提交后,正确的包含页面加载。

if ($user_state == "6" && empty($user_role))
            {
            $role_or_overview = 'Select Role';
            $role_or_overview_page = './php/select_role.php';
            }
            else
            {
            $role_or_overview = 'Overview';
            $role_or_overview_page = './php/overview.php';
            }

这导致了一个switch语句,它选择加载到选项卡中的php脚本......

switch($user_menu) {
            default:

            case($role_or_overview):
            include($role_or_overview_page);
            break;

            case('User Submit'):
            include('./php/user_entry.php');
            break;
                   }

该switch语句与另一个语句绑定,后者确定要显示的选项卡。这些都发生在整个页面代码的开头附近,包括在表单之前。

switch($user_state)
{
 default:

echo '<div class="nav">'; // start div nav
div_button('', 'Overview', $user_menu);
echo '</div>'; // end div nav

echo '<div class="clear-both">';
echo '</div>';
 break;

case '0':
// Regular User Menu

echo '<div class="nav">'; // start div nav
div_button('', 'Overview', $user_menu);
echo '</div>'; // end div nav

echo '<div class="nav">'; // start div nav
div_button('menu', 'User Submit', $user_menu);
echo '</div>'; // end div nav

echo '<div class="clear-both">';
echo '</div>'

}

一个简单的表单允许用户选择角色和自我帖子......

echo '<form action = "./" method = "post" name="role_select">';
echo '<input type="hidden" name="post_role" value="ROLE1">';
echo '<input type="submit" name="DEPT" value="ROLE1">';
echo '</form>';
echo '<form action = "./" method = "post" name="role_select">';
echo '<input type="hidden" name="post_role" value="ROLE2">';
echo '<input type="submit" name="DEPT" value="ROLE2">';
echo '</form>';

在我的索引顶部,我检查发布的值并设置用户状态,以便显示我想要显示的标签

if ($_POST['post_role'])
{
$user_role = mysql_real_escape_string($_POST['post_role']);
$user_state=0;
}

我遇到的问题是在提交表单后,似乎是本地化的。我设置了一些测试回声,当值到达包含的表单页面时,在单击选项卡之前它们不会到达整个页面(或者当我没有为调试更改php脚本时第二次单击表单时)。

我故意遗漏了许多代码,但一切正常。 $ user_menu只是传递选项卡名称/值的简单方法,因此可以在同一页面中选择和加载它们。我只是不能让这个角色正确发布并选择一个新的开关案例。

任何帮助表示赞赏!

0 个答案:

没有答案