-1

システムを使用しようとすると、これらのエラーが発生します。

 未定義の定数 session_id の使用 - 16 行目の C:\wamp\www\UCP\header.inc.php の「session_id」を想定

mysql_fetch_assoc() は、パラメーター 1 がリソースであると想定し、21 行目の C:\wamp\www\UCP\header.inc.php で指定されたブール値です。

mysql_num_rows() は、パラメーター 1 がリソースであると想定し、22 行目の C:\wamp\www\UCP\header.inc.php で指定されたブール値です。

: 未定義の定数 IsLoggedIn の使用 - 3 行目の C:\wamp\www\UCP\Dashboard.php で「IsLoggedIn」を想定

<?php
session_start();
require_once("connection.php");

$user = IsLoggedIn();

if($user)
{
    $expires = time() + (60 * 15);
    mysql_query("UPDATE 'active_users' SET 'expires' = " . $expires . " WHERE 'user' = " . (int) $user . "");
    
}

function IsLoggedIn()
{
    $sessID = mysql_real_escape_string(session_id);
    $hash = mysql_real_escape_string(hash("sha512", $sessID.$_SERVER['HTTP_USER_AGENT']));
    
    $query = mysql_query("SELECT 'user' FROM 'active_users' WHERE 'session_id' = '" . $sessID . "' AND 'hash' = '" . $hash . "' AND 'expires' > " . time() . "");
     
    $data = mysql_fetch_assoc($query);
    if(mysql_num_rows($query))
    {
        return $data['user'];
    }
    else {
        return false;
    }
    
}
?>
4

4 に答える 4

1

SQL クエリにスペル ミスがあります。

関数内で に変更SLECTし、常に (`) を使用してテーブルまたはフィールド名をパックします。SELECTIsLoggedIn()

于 2013-04-06T08:31:42.417 に答える
1
1.Use of undefined constant session_id: define your session_id
2. For mysql error just change SLECT with SELECT
3. Use of undefined constant IsLoggedIn : pull your IsLoggedIn function in the top of the page.
于 2013-04-06T09:05:33.837 に答える
0

基本的に、mysql_query は減価償却されているため、少なくとも PDO または mysqli で記述することを検討してください。しかし、この場合:

 1) $sessID = session_id();
 2) the mistake is here --->  WHERE session_id = '$sessID' AND hash= '$hash' AND expires > " . time(). "");     First, you INSERT Hash and SESSION_id TO DB and then you SELECT it.
 3) $num=mysql_num_rows($query);
    if($num !==0 ) { 
    }
4) mysql_query("UPDATE active_users SET expires = '$expires' WHERE user='$user'");
5) if($user !==null)
6) if you still receiving errors, check if row & table names are correctly written.
于 2013-04-06T08:23:20.857 に答える
0

あなたのクエリSLECTSELECT

于 2013-04-06T08:27:18.090 に答える