2016-09-29 9 views
0

loginをクリックすると、index.phpにhome.phpがロードされ、非常に奇妙に見えます。index.phpのすべてをリダイレクトまたは消去してからhome.phpをロードすることは可能ですか?header()は同じページのすべてをロードしますajax

function login(){ 
 
\t var name = $('input#answer').val(); 
 
\t var pass = $('input#password').val(); 
 
\t if($(name) == '' || $(pass) == '') 
 
\t \t $('#output').html('Please enter both username and password.'); 
 
\t else 
 
\t \t $.post(('php/login.php'), $('#myForm :input').serializeArray(), 
 
\t \t \t function(data){ 
 
\t \t \t \t $('#output').html(data); 
 
\t \t \t \t 
 
\t }); 
 
\t $('#myForm').submit(function(){ 
 
\t \t return false; 
 
\t }); 
 
};
<?php 
 
session_start(); 
 
if(isset($_SESSION['users']) != ""){ 
 
header("Location: ../php/home.php"); 
 
} 
 

 
require '../php/dbConnect.php'; 
 
    $username = $_POST['username']; 
 
\t $password = $_POST['password']; 
 
    $query = ("SELECT * FROM `accounts` WHERE username = '$username'")or die(mysql_error()); 
 
    $response = mysql_query($query); 
 
\t 
 
\t $row = mysql_fetch_array($response); 
 
\t 
 
    if($row['password'] == md5($password)) 
 
    { 
 
\t \t 
 
     $_SESSION['user'] = $row['username']; 
 
     header("Location: ../php/home.php"); 
 
    } 
 
    else{ 
 
     echo("Wrong Credentials"); 
 
\t } 
 
?>

+2

PHPスクリプト内ではなく、レスポンスを読んだ後にJSでリダイレクトを行うだけです。 – Ghost

+1

あなたはSQLインジェクションを開いており、ハッシングメソッドを更新する必要があります。 '$ _SESSION ['users']'!= '$ _SESSION ['user']'のように 'user'インデックスを設定しますか? – chris85

+0

jsでログインが成功したかどうかを確認するにはどうすればよいですか? – kuini

答えて

0

おそらく試してみてください。

$_SESSION['user'] = $row['username']; 
header("Location: ../php/home.php"); 
die(); 

あなたは通常、012後die()コマンドを発行する必要がありますステートメント。

関連する問題