Страница проверки входа пуста или не перенаправляет - PullRequest
1 голос
/ 28 ноября 2011

В начале скрипт работал нормально.Я вошел в систему, вышел из системы и смог сделать это несколько раз.

Теперь я не знаю, что случилось.Страница заканчивается пустой, и если она не совсем пуста, она показывает HTML, но не перенаправляет.Тем не менее, это регистрирует меня, потому что я могу перейти непосредственно на страницу, на которую я должен быть перенаправлен, набрав ее в адресной строке, не возвращаясь на страницу входа (это имело смысл)?

Я понимаю, что это должно быть что-то в моей сессии, но я не до конца понимаю.

Это скрипт проверки входа в систему:

<?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

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

Если вы используете include или require на странице check.php, не используйте аналогичный заголовок на странице index.php или другой включенной странице.Также убедитесь, что у вас нет пробелов до или после открытия и закрытия тегов PHP <?php . . . ?>.

2 голосов
/ 28 ноября 2011

Убедитесь, что у вас нет кода, который выводился бы до или после тегов php.Одна из причин, по которой я научился избегать этого, заключается в удалении последнего тега ?>, если после него больше ничего не будет, или если страница будет чисто PHP.Это поможет избежать лишних пробелов после него, что приведет к этой ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...