我有一个index.php页面,其中有一个登录表单。
的index.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>
footer.php
<? ob_end_flush(); ?>
loginBar.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>
actions.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标记之后放置了这一行:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
,但没有任何作用。
请帮帮我。感谢。
答案 0 :(得分:1)
除非你的复制/粘贴只是一个拼写错误,否则你有一个未关闭的输入,这可能会导致输入后的输入(在这种情况下登录)。
<input class="loginButton" id="loginButton" type="submit" value="Go"
应该是
<input class="loginButton" id="loginButton" type="submit" value="Go" />