-3

Web サイトの最後のアクティビティ関数を作成しようとしています。しかし、私はそれを機能させることができません。皆さんがここで私を助けてくれることを願っています。

これは私のスクリプトです:

if (isset($_REQUEST['inlog_submit'])){//checks if form is submitted


                    $user_name = $_REQUEST['username_input'];//request username from inlog_form
                    $password = $crypt;//gets enqrypted pass
                    //$tbl_name="user_table"; // Table name
                    $query = "SELECT * FROM users_table WHERE user_name= '$user_name' AND password='$password'";//query stored in var
                    $last_activity_query = "UPDATE users_table SET 'date_last_inlog' = NOW() WHERE user_name  = '$user_name'";
                    $result = mysql_query($query);//var with result of query
                    $result_update =  mysql_query($last_activity_query);

                    if ($user_name = mysql_fetch_array($result)){//checks inlog data from form with the $result query
                        $_SESSION['user_name'] = $user_name[user_name];//creates session with username
                        $_SESSION['password'] = $password[password];//creates session with password
                        $last_activity_update = mysql_fetch_array($result_update);
                        header ('Location: admin.php');//when login is correct redirect to specified page
                    }else{
                        $error_inlog = 10;//when inlog data is incorrect this error will show
                    }
                }
            ?>

これは私のデータベース テーブルの印刷画面です。

http://i.stack.imgur.com/xDMGA.png

前もって感謝します!

4

1 に答える 1

0

ここでのクエリでは:

UPDATE users_table SET 'date_last_inlog' = NOW() WHERE user_name  = '$user_name'

周りの引用符を削除するdate_last_inlogか、バッククォートに変更してみてください:

UPDATE users_table SET date_last_inlog = NOW() WHERE user_name  = '$user_name'

また、mysql_*関数を使用しないで、代わりにmysqliorを使用してください。PDOコードは SQL インジェクションに対して脆弱です。

于 2013-07-17T18:45:52.443 に答える