2015-10-28 69 views
1

我想重定向用户登录细节正确时,但我的头功能没有运行,我已经测试了没有头功能的if语句通过echo出来和这工作,所以我不知道为什么头没有被执行。任何帮助,将不胜感激。头重定向功能没有执行没有错误给出

登录PHP

<?php 
session_start(); 
require '../includes/class/login.php'; 
$login = new login(); 
$username_error=' '; 
$password_error=' '; 
$result=' '; 
if(isset($_POST['username']) && $_POST['username'] !== ""){ 
$username = $_POST['username']; 
$username = trim($username); 
$user_exists = $login->user_exists($username); 
if ($user_exists) { 
$username_error = 'correct username entered '; 
} else { 
$username_error = 'username not found'; 
    } 
} 

if(isset($_POST['password']) && $_POST['password'] !== ""){ 

$password = $_POST['password']; 
$password = trim($password); 
$password_check = $login->password_check($username,$password); 
if ($password_check) { 
$password_error = 'correct password entered '; 
} else { 
$password_error = 'password not found'; 
    } 
} 

if (isset($_POST['login'])&& $_POST['login'] !== "") { 
$log = $login->check_login($username,$password); 

if ($log) { 

$login->redirect('home.php'); 

//$user_session = 'welcome'.' '.$_SESSION['username']; 

} else { 
// Registration Failed 
$password_error='Wrong username or password'; 
     } 
    } 

$return_data=array('username'=> $username_error, 'password'=> $password_error ,'user_session'=>$_SESSION['username']); 

header('Content-Type: application/json'); 
echo json_encode($return_data); 
exit(); 

?> 

登录类

public function redirect($url) 
    { 
     header("Location: $url"); 
    } 
+0

可能的[如何修复]已经发送的头文件“PHP中的错误”的副本(http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php) – Qirel

回答

1

你有某种形式的输出,这是造成错误 “已经发送了头”。你也有php错误被禁用。启用错误并检查出来(或检查你的apache错误日志)。

+0

我正在使用one.com,我打开了错误 – percy3872

+0

iv编辑代码以显示我所有的登录代码 – percy3872

+1

编辑之后,您确定在打开php标记之前没有空白空间吗?如果有的话 - 这是你的问题。 –