单击logout时如何在数据库sql中插入session * username *

时间:2014-07-11 16:06:22

标签: php

我在php和sql中的新功能请点击退出时帮我找到插入用户名的用户名。

继承我的代码:

 <?php

include('includes/mysql_connect.php');

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

$query = mysql_query("select users from username where username = '".$_SESSION['username']."'");
mysql_query($query);

$insert_log="INSERT INTO activity_logout(username, details) VALUES('$query','Succesfully Logout!')";
mysql_query($insert_log);

}

session_start();
session_destroy();
header("location:index.php");

?>

2 个答案:

答案 0 :(得分:1)

您不需要执行SELECT,因为您已经拥有了用户名,如果设置了“提交”按钮,则应该检查$_SESSION['username']

对于实际上是SQL查询的用户名,或者至少包含'的用户名,您对SQL注入开放将会破坏您的查询。

<?php
session_start();
include('includes/mysql_connect.php');

if(!empty($_SESSION['username'])){
    mysql_query('INSERT INTO activity_logout 
                        (username, details) 

                 VALUES ("'.mysql_real_escape_string($_SESSION['username']).'", 
                         "Succesfully Logout!")');
}

session_destroy();
exit(header("location: ./index.php"));
?>

强制性建议Don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

答案 1 :(得分:-1)

试试这个,

<?php

include('includes/mysql_connect.php');

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

$insert_log="INSERT INTO activity_logout(username, details) VALUES($_SESSION['username'],'Succesfully Logout!')";
mysql_query($insert_log);


}
  session_destroy();
  header("location:index.php");

?>

请使用

session_start(); 

在您的“登录”代码之后的开头。此外,您应该使用一些常用文件来处理您的包含文件。请参考  enter link description here