0

我有一个 index.php 页面,其中有一个登录表单。

索引.php:

<?php include_once("include/header.php");?>

</head>

<body>

<div class="mainContainer">
    <div class="header"><!--Header start-->

        <!--Inlcluding Login Barr-->
        <?php include("include/loginBar.php");?>           

    <div class="clear"></div>
    </div><!--Header end-->

    <div class="centerContent"><!--Center content start-->        
    </div><!--center content end-->

    <div class="clear"></div>
    <?php include("include/footer.php");?> 

</div>

</body>
</html>

header.php:

<?php session_start();
ob_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<link type="text/css" href="css/mainStylesheet.css" rel="stylesheet" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

页脚.php

<? ob_end_flush(); ?>

登录栏.php

        <div class="loginBar">

            <form name="Login" id="Login" action="actions.php" method="post">
                  <span class="label">Login</span> 
                  <input type="text" name="name" id="username" value="Username" onBlur="if(this.value==''){this.value=this.defaultValue;}" onFocus="if(this.value==this.defaultValue){this.value='';}" />
                  <input type="password" name="password" id="userpassword" value="Password" onBlur="if(this.value==''){this.value=this.defaultValue;}" onFocus="if(this.value==this.defaultValue){this.value='';}"/>
                  <input class="loginButton" id="loginButton" type="submit" value="Go" />

                  <input type="hidden" value="loginValues"  name="login" id="login"/>
            </form>
        </div>

动作.php

<?php session_start();

echo $_POST['name']; echo $_POST['password'];

if(isset($_POST['login']) && $_POST['login']=="loginValues"){

    echo "HAHAHAHAHA";  
}

?>

问题是,表单值在actions.php 页面中的IF 块之外回显,但在该块内没有任何作用。这意味着表单值已成功传输。

在 firebug 控制台中,我看到一条错误消息,指出“未声明 HTML 文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则在某些浏览器配置中,该文档将呈现乱码文本。页面必须在文档或传输协议中声明。”

我已经尝试了所有选项并将这一行放在 HEAD tag : 之后 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,但没有任何效果。

请帮我。谢谢。

4

1 回答 1

1

除非它只是您复制/粘贴的拼写错误,否则您有一个未关闭的输入,这可能会杀死它之后的输入(在这种情况下是登录)。

<input class="loginButton" id="loginButton" type="submit" value="Go"

应该

<input class="loginButton" id="loginButton" type="submit" value="Go" />
于 2012-12-04T15:33:04.580 回答