2012-02-09 13 views
0

「PHPログインシステム」のテストプロジェクトに戻った後、クッキーを設定して、ウェブサイトに再度アクセスしたときにユーザーが覚えられるようにする必要がありますこれは、覚えている私のオプションの有無にかかわらず設定されたクッキーのいずれかが最適です。PHPログインスクリプトでクッキーを設定する

ここには、ログイン情報を入力した後にユーザーを認証するPHPコーディングがあります。

<?php 
session_start(); // Create the session 
if (empty($_REQUEST['username']) || empty($_REQUEST['password'])) { header("Location: /login.php?username=" . $_REQUEST['username'] . "&message=0"); exit; 
} else { 

$username = $_POST['username']; // Gets the username 
$password = $_POST['password']; // Gets the password. 
$salt = "n4tOqSYcZI5Y463oG34T7YR8Q72hVU"; // random string 

// Add some salt 
$salt .= $password; 
$password = $salt; // new salted pass. 

// Encrypt the password. 
$password = md5($password); 

include('settings.php'); 
include('dbconnect.php'); 

$query = "SELECT * FROM xxx WHERE username = '$username' LIMIT 1"; 
$username = mysql_real_escape_string($username); // just to be sure. 
$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_array($result)){ 
$resusername = $row['username']; 
$respassword = $row['password']; 
$resemail = $row['email']; 
} 

// valid user? 

if ($respassword == $password) { 

// Yes they are. 
$_SESSION['loggedin'] = "1"; 
$_SESSION['email'] = $resemail; 
$_SESSION['username'] = $resusername; 

$SQL = "UPDATE xxx SET usr_lastlogin='" . date("Y-m-d H:i:s") . "',lastlogin_ip='" . addslashes($_SERVER['REMOTE_ADDR']) . "' WHERE username = '$_SESSION[username]'"; 
$result = @mysql_query($SQL) or die("Error Process 2"); 

header('Location: /index.php'); 

} else { 

// No 
$_SESSION['loggedin'] = "0"; 
header("Location: /login.php?username=" . $_REQUEST['username'] . "&message=3"); 
exit; } 
} 
?> 

はどこもまたは史上最高である私に覚えオプション、もしなくても、ユーザーのコンピュータに保存されたクッキー情報を作成するために、そのコードを取得し、起動する必要があります。

先進的なヘルプと支援をいただきありがとうございます。

+0

、あなたは「私を忘れないでください」オプション、正確で保存するクッキーを作成したいですか? –

+0

あなたはパスワードを「暗号化」しているわけではありません。また、セキュリティがあなたのプロジェクトにとって重要な場合、md5よりもはるかに優れている可能性があります。試してみてください:http://www.openwall.com/phpass/ – ajnatural

+0

@Frederick Marcoux - はい、シンプルで、サイトへの訪問者を覚えておく情報を保存するクッキーを作りたいと思います。 –

答えて

0

setcookie()を使用して、後ほど$ _COOKIEから読み込んでください。ますsetcookieを見て()および限りの$ _COOKIEを使用するなど、それはかなりセッションと同じです行く:シンプルで

function isLoggedIn(){ 
    if($_COOKIE['loggedin'] == true or $_SESSION['loggedin'] == true){ 
     return true; 
    } 
    return false; 
} 
関連する問題