第一篇文章 - 我一直在學習PHP和MySQL一個月左右。
我試圖將會話'MM_Username'發佈到日誌記錄中。 ,所以它讀取
「的用戶名存檔」我想,如果我設置的lognote值「以存檔‘$ _SESSION [‘MM_Username’。’」 我會得到的結果,我是後。顯然不是。
我在做什麼錯? 我的代碼如下。
感謝
第一篇文章 - 我一直在學習PHP和MySQL一個月左右。
我試圖將會話'MM_Username'發佈到日誌記錄中。 ,所以它讀取
「的用戶名存檔」我想,如果我設置的lognote值「以存檔‘$ _SESSION [‘MM_Username’。’」 我會得到的結果,我是後。顯然不是。
我在做什麼錯? 我的代碼如下。
感謝
你得到什麼結果呢?查詢是否實際執行? 當語句被包裹在雙引號「」試試既然你沒有提供我檢查代碼中的錯誤在{}
$logarchiveSQL = sprintf("INSERT INTO log (logaction, logdivisionid, lognotes) VALUES ('Division Archived', %s, 'archived by {$_SESSION[MM_Username]} ')",
GetSQLValueString($_GET['divisionid'], "int"));
抱歉,是的,quey正在執行,但我得到的結果不包括由會話設置的用戶名 – onebitrocket
參考變量,並沒有發現任何嚴重codingwise。然而,一些小的建議如下:
<?Php
if ((isset($_GET['divisionid'])) && ($_GET['divisionid'] != "")) {
$logarchiveSQL = sprintf("INSERT INTO log (logaction, logdivisionid, lognotes) VALUES ('Division Archived', %d, 'archived by %s')",
GetSQLValueString($_GET['divisionid'], "int"),
$_SESSION['MM_Username']);
mysql_select_db($database_connect, $connect);
$Result2 = mysql_query($logarchiveSQL, $connect) or die(mysql_error());
$updateGoTo = "../divisions.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
exit;
}
?>
最終會明白你面臨的錯誤!
感謝您的提示,我會將其應用到我的系統的其餘部分。會話用戶名仍未記入日誌值。我們得到的結果是「部門存檔\t歸檔爲\t 2012年5月20日 - 下午13點10分」 – onebitrocket
如果您檢查/搜索代碼$ _SESSION ['MM_Username'] =',您會發現一個分配操作,會話變量的日期/時間值在您訪問該值時正在設置。 – somnath
對不起,忽略日期 - 這是查詢運行時更新的時間戳值 – onebitrocket
已解決!
感謝大家的幫助!
我沒有聲明session_start,我忘了它是在我的安全包含文件中定義的。
我也必須創建一個部門記錄
session_start();
$colname_division = "-1";
if ((isset($_GET['divisionid'])) && ($_GET['divisionid'] != "")) {
$colname_division = $_GET['divisionid'];
mysql_select_db($database_connect, $connect);
$query_division = sprintf("SELECT * FROM division WHERE divisionid = %s", GetSQLValueString($colname_division, "int"));
$division = mysql_query($query_division, $connect) or die(mysql_error());
$row_division = mysql_fetch_assoc($division);
$totalRows_division = mysql_num_rows($division);
// ADD LOG DIVISION REINSTATED
$logarchiveSQL = sprintf("INSERT INTO log (logaction, logdivisionid, lognotes) VALUES ('Reinstated', %d, '" . $row_division['division'] . " reinstated by " . $_SESSION['MM_Username'] . "')",
GetSQLValueString($_GET['divisionid'], "int"));
mysql_select_db($database_connect, $connect);
$Result1 = mysql_query($logarchiveSQL, $connect) or die(mysql_error());
// MESSAGE USERS DIVISION REINSTATED
$messageinsertSQL = sprintf("INSERT INTO messages (message) VALUES ('The division " . $row_division['division'] . " has been reinstated by " . $_SESSION['MM_Username'] . " you may now select this division')",
GetSQLValueString($_GET['divisionid'], "int"));
mysql_select_db($database_connect, $connect);
$Result4 = mysql_query($messageinsertSQL, $connect) or die(mysql_error());
// UPDATE DIVISION TO REINSTATED
$divisionarchiveSQL = sprintf("UPDATE division SET divisionarchive=0 WHERE divisionid=%s",
GetSQLValueString($_GET['divisionid'], "int"));
mysql_select_db($database_connect, $connect);
$Result3 = mysql_query($divisionarchiveSQL, $connect) or die(mysql_error());
// REDIRECT
$updateGoTo = "../divisions.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
mysql_free_result($division);
exit;
什麼錯誤? –
我沒有收到錯誤,查詢工作 - 我只是無法得到查詢發送SESSION ['MM_Username']到登錄值 – onebitrocket