2009-07-11 3 views
0

Я пытаюсь сделать сценарий входа, но я палку с проблемой:Проблема с сценарием входа

<?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(); 
} 
?> 

Проблемой с этим сценарием является то, что он устанавливает last_activity текущего времени на каждом пользователе.
Невозможно решить проблему.

Некоторой помощи будет appricated, и да, я буду смотреть в пароль шифрования позже: P

редактировать: найдены проблемы, должно быть mysql_query("UPDATE users SET last_activity = ".time()." WHERE id = ".$_SESSION['id']);

+12

Robert, ответьте и ответьте на это решение Robert –

ответ

0

Вы можете использовать функцию MySQL сейчас () в отличие от php function time() - не то, что он имеет огромное значение, но его немного опережает, так как вам не нужно прерывать строку, чтобы сделать это. Например. Msgstr "Обновить значение tablename set time = now(), где условие"

Смежные вопросы