php - 登录检查页面空白或不重定向

标签 php mysql authentication

一开始,脚本运行良好。我登录、注销,并且能够执行多次。

现在,我不知道发生了什么。该页面最终为空白,如果它不是完全空白,它会显示一些 html 但不会重定向。但是,它让我登录,因为我可以通过在地址栏中键入它直接转到我应该被重定向到的页面,而不会被弹回登录页面(这有意义吗)?

我知道这一定与我的 session 有关,但我不完全理解。

这是登录检查脚本:

<?php
$host=""; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name=""; // Table name

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$uname=$_POST['uname'];
$pname=$_POST['pname'];

$uname = stripslashes($uname);
$pname = stripslashes($pname);
$uname = mysql_real_escape_string($uname);
$pname = mysql_real_escape_string($pname);

$sql="SELECT * FROM $tbl_name WHERE username='$uname' and password='$pname'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){
session_register("uname");
session_register("pname");
header("location:index.php");
echo " '<h2>Continue to the donor list</h2><br /><br />

            <div id="login-box-name">
                Return to the login screen?
            </div>

            <div id="login-box-field">
            </div>

            <div id="login-box-name2"><a href="index.php"><img src="images/continue-btn.png" /></a></div>

            <div id="login-box-field2">
            </div>

            <br />

            <span class="login-box-options">

            </span>

            <br />
            <br />' ";
}
else {
echo " '<h2>Wrong Username or Password</h2><br /><br />

            <div id="login-box-name">
                Return to the login screen?
            </div>

            <div id="login-box-field">
            </div>

            <div id="login-box-name2"><a href="login.php"><img src="images/return-btn.png" /></a></div>

            <div id="login-box-field2">
            </div>

            <br />

            <span class="login-box-options">

            </span>

            <br />
            <br />' ";
}
?>

这些是我收到的错误:

[27-Nov-2011 17:52:59] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home4/folder/public_html/ccc/check.php:2) in /home4/folder/public_html/ccc/check.php on line 35

[27-Nov-2011 17:52:59] PHP Warning:  Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

最佳答案

确保在 php 标记之前或之后没有任何代码回显。我学会避免这种情况的一个原因是删除最后的 ?> 标记,如果它后面没有任何其他内容或者页面是纯 PHP 的。这样做将有助于避免在它之后出现任何额外的空格,这会导致该错误。

关于php - 登录检查页面空白或不重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8290749/

相关文章:

php - 添加数据库时如何避免重复输入

python - 将 html 源保存到

asp.net - 如何设置 MVC 网站以使用与 CRM Online 相同的 SSO,以便它可以被 IFramed?

C# 对象转为 MYSQL datediff 的 int

c# - (C#) Azure - 实时身份验证期间出现空引用异常

php - 如何在 Yii 的索引页面上对用户进行身份验证

php - mysqli_insert_id 返回 0

Javascript/jQuery 文本幻灯片

php - 如何使用 SOAP UI 为 SOAP 生成客户端 PHP 代码?

php - 需要从输入表单设置数据库的文件路径