2012-12-03 199 views
0

嘿傢伙我正在創建一個簡單的登錄腳本。當我輸入一個有效的用戶名和密碼時,該函數調用login_success.php,但沒有任何反應。我用以下鏈接的資源:php登錄腳本執行不正確

我還搜查了一些職位上這個網站也是如此。總是感激你的幫助。下面的代碼:

的login.php

<?php 
ob_start(); 
include 'connect.php'; 

$usernamefield = $_POST['usernamefield']; 
$passwordfield = $_POST['passwordfield']; 

$sql = "SELECT * FROM login WHERE username = '$usernamefield' and password = '$passwordfield'"; 
$result = mysql_query($sql); 

$count = mysql_num_rows($result); 

if($count == 1) { 
    session_register("usernamefield"); 
    session_register("passwordfield"); 
    header("Location: login_success.php"); 
} else { 
    echo "Invalid username or password"; 
} 
exit(); 
?> 

login_success.php

<?php 
session_start(); 
if(!session_is_registered(myusername)){ 
    header("Location: login.php"); 
} 
?> 

<html> 
<body> 
Login Successful 
</body> 
</html> 

回答

1

session_start();在你的login.php文件的頂部。 使用$_SESSION['variable']='value';設置會話變量。 使用if(isset($_SESSION['variable'])){檢查訪問權限,並且應該完成。

session_register('variable');已被棄用,不應該被使用,session_is_registered('variable')一起:http://php.net/manual/en/function.session-register.php

如果你試圖讓這個在新的PHP安裝工作,你也可能會被使用5.4.x版本,而這些功能已被刪除,所以他們不工作。

+0

非常感謝蒂姆!現在進行更改。 –