Oturum açma komut ile sorun

1 Cevap php

Ben bir oturum açma komut dosyası yapmaya çalışıyorum ama bir sorun ile sopa ediyorum:

<?php

session_start();

if (isset($_POST['username'])) {

$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);

$query = mysql_query("select id from users where 
                 username = '$username' and 
			 password = '$password'");
 if (mysql_num_rows($query) == 0) {
 header('Location: ?error');
 exit();
 }

 // assign id to session
 $_SESSION['id'] = mysql_result($query, 0, 'id');
 mysql_query("UPDATE users SET last_activity = ".time()." WHERE ".$_SESSION['id']);
 header("Location: /");
 exit();

 }
 ?>

The problem with this script is that it sets last_activity to current time on EVERY user.
Can't figure the problem out.

Bazı yardım büyük appricated olacaktır, ve evet ben daha sonra şifre şifrelemek içine bakacağım: P

edit: found problem, should be mysql_query("UPDATE users SET last_activity = ".time()." WHERE id = ".$_SESSION['id']);

1 Cevap

Php işlevi zaman karşıt olarak () şimdi mysql işlevini kullanabilirsiniz () - bu büyük bir fark yapar ama onun biraz kıvrımlara bunu yapmak için dize kırmak yok gibi. Örneğin "Güncelleme TabloAdı set zaman = şimdi () burada durum"