2013-04-21 1 views
3

После входа пользователя в базу данных он должен быть перенаправлен на index.php, но все, что я получаю, является предупреждающим сообщением: «Невозможно изменить информацию заголовка - заголовки, уже отправленные (выход начался в ...»После входа пользователя пользователь не перенаправляется на определенную страницу в PHP

Это моя форма ввода:

<form action="login.php" method="post"> 
<div id="header"><h2 class="sansserif">Login</h2></div> 
<table> 

    <tr> 
     <td>Enter Username:</td> 
     <td> <input type="text" name="username" size="20"></td> 
    </tr> 

    <tr> 
     <td>Enter Password:</td> 
     <td><input type="password" name="password" size="20"></td> 
    </tr> 
    <tr> 
     <td><input type="submit" value="Log In"></td> 
     <td><a href="signup.html">Sign Up</a></td> 
    </tr> 
</table> 
</form> 

Это мой код:

<?php 
include("configuration.php"); 
$username = $_POST["username"]; 
$password = $_POST["password"]; 
$match = "select id from $table where username = '".$_POST['username']."'and password =   '".$_POST['password']."';"; 
$qry = mysql_query($match); 
$num_rows = mysql_num_rows($qry); 
if ($num_rows <= 0) { 
echo "Sorry, there is no username $username with the specified password."; 
echo "Try again"; 
exit; 
} else { 
$_SESSION['user']= $_POST["username"]; 
header("Location:index.php"); 
}?> 
+0

У вас есть пробелы/табы здесь '| Vyktor

+1

В качестве побочного примечания ваш запрос выбора уязвим для SQL-инъекции. http://php.net/manual/en/security.database.sql-injection.php – Ben

+0

Проверьте, нет ли в вашем файле configuration.php пробелов после и до ''. –

ответ

0

Убедитесь, что у вас есть никаких пробелов не будет fore или после ваших PHP-тегов. В начале я вижу три пробела, которые могут вызывать «не изменять информацию заголовка».

0

первая попытка комментировать заголовок() функция проверить, есть ли какой-либо вывод в браузере. Если ничего не проверит ваш файл configuration.php, возможно, что-то повторяется или печатается.