Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我使用下面的代码在php中捕获注销时间时,屏幕变白,mysql数据库中没有节省时间_Php_Mysql_Session - Fatal编程技术网

当我使用下面的代码在php中捕获注销时间时,屏幕变白,mysql数据库中没有节省时间

当我使用下面的代码在php中捕获注销时间时,屏幕变白,mysql数据库中没有节省时间,php,mysql,session,Php,Mysql,Session,} 这里的问题是,当我单击注销按钮时,时间没有以db为单位保存,屏幕变为白色。 有什么想法吗?打开错误报告。另外,在会话启动()之前,您正在调用会话销毁()和$\u会话[]。检查示例 不要使用mysql.*函数,它们已被弃用。为此,请使用PDO或mysqli.* 不要在数据库中存储原始密码。使用和函数(md5不用于密码哈希)。此代码用于session.php // check that the session exists first if(isset($_SESSION['username']

}

这里的问题是,当我单击注销按钮时,时间没有以db为单位保存,屏幕变为白色。
有什么想法吗?

打开错误报告。另外,在
会话启动()之前,您正在调用
会话销毁()
$\u会话[]
。检查示例

不要使用
mysql.*
函数,它们已被弃用。为此,请使用
PDO
mysqli.*


不要在数据库中存储原始密码。使用和函数(
md5
不用于密码哈希)。

此代码用于session.php

// check that the session exists first
if(isset($_SESSION['username'])) {

// you should put your db connection in a config.php file and use mysqli or PDO - what you're using is depreciated
mysql_connect("localhost", "root", "") or die("cannot connect"); 
mysql_select_db("logtime") or die("cannot select DB");

// don't think I'd store password in a session...
// also, is username UNIQUE in your database?
// also, also, ALWAYS escape (sanitize) your database input to prevent agains SQL injection

$sql = "SELECT username, password 
FROM 
    users 
WHERE 
    username = '".mysql_real_escape_string($_SESSION['username'])."' 
AND 
    password = '".mysql_real_escape_string($_SESSION['password'])."'";
$result = mysql_query($sql) or die('sql: '.mysql_error()); 

if(mysql_num_rows($result) > 0) {
    $sql_2 = "INSERT INTO exit1(username, outtime) VALUES ('".mysql_real_escape_string($_SESSION['username'])."', NOW())";
    mysql_query($sql_2) or die('sql2: '.mysql_error()); 

    session_destroy();
    header("location: index.php");
} else {
    echo 'There was an error. You have not been logged out.';
}


检查错误日志。您正在数据库中存储打开的密码-非常糟糕的做法。最好比较散列,不要使用mysql,使用PDO或mysqli。不要存储原始密码,请使用
password\u hash()
如果您的
插入到…
代码中,请进行调试好吗?这里我没有存储密码。首先,我已启动会话,但注销时间没有存储,只是显示白色屏幕。这里如果密码保存也没有problem@Muthukumaran一个简单的方法是如何检查你们得到的空白窗口:从最深的代码行开始,添加
die('IS FINE')
,refresh->continue直到您看到
的输出很好
。您能给我正确的php代码以节省MySQL数据库的注销时间吗。这将是一个很大的帮助和帮助我从u@Muthukumaran尝试
session_start();如果(isset($_SESSION['username']){/…代码的其余部分
感谢您的帮助,我终于让代码正常工作并在数据库中节省了注销时间
<?php
// Establishing Connection with Server by passing server_name, user_id and password as a parameter
$connection = mysqli_connect("localhost", "root", "");
// Selecting Database
$db = mysqli_select_db($connection, "logtime");
session_start();// Starting Session
// Storing Session
$user_check=$_SESSION['login_user'];
// SQL Query To Fetch Complete Information Of User
$ses_sql=mysqli_query($connection, "select username from users where username='$user_check'");
$row = mysqli_fetch_assoc($ses_sql);
$login_session =$row['username'];
if(!isset($login_session)){
mysql_close($connection); // Closing Connection
header('Location: index.php'); // Redirecting To Home Page
}
?>
<?php
include('session.php');

mysqli_query($connection,"INSERT INTO exit1(id, username, outtime) VALUES ('', '$login_session', NOW())");

header('Location: index.php');
session_destroy();
?>