我正在設計一個基於Web的php報告系統。它涉及多個插入和更新到MySQL服務器的頁面。基本上,我希望有人能夠登錄,開始撰寫報告,然後逐步完成相當長的報告流程。他們之前只是填寫Excel電子表格。我基本上設置了分數表的$ _SESSION [$ var] =(自動增量ID)。使用會話變量從mysql服務器調用數據
$returnQuery = "Select AssessmentID FROM opsassessment.assessmentscores WHERE Date = '$Date' AND InspectorID = '$inspectorResult2[0]'
AND PlantAssistID = '$assistResult2[0]' AND Plant = '$plantResult2[0]'";
$return = mysql_query ($returnQuery);
$return2 = mysql_fetch_row($return);
$_SESSION["return2"] = $return2[0];
echo "The ID for this session is: " . $_SESSION["return2"];
然後,我將會話變量分配給每個頁面內的變量。然後使用該變量用來自多個複選框的數據更新assessmentcores表。我有兩個關於這個問題:
是否有一個「更好」的方式來做到這一點?模糊的我知道。雖然系統確實有效,但我懷疑有一種更簡單或更傳統的方法。
我運行使用會話的安全風險有多大? 注意:這是一個封閉的網絡,因此除非網絡已被黑客入侵,否則公司以外的任何人都無法訪問網頁。另外,我實現了SQL注入防護,如剝離HTML和特殊字符。
任何意見和/或反饋,將不勝感激。
我明白你的意思,但不應該是一個問題。每個用戶每年可能會做一兩個報告(他們正在檢查大型製造工廠)。出於好奇,你將如何建造兩個窗戶不會導致這個問題? – Sedaition
而不是在會話中存儲號碼。將其存儲在隱藏的字段值中,將其傳遞到URL中等等。或者,只需讓您的「開始新報告」腳本檢查另一個報告是否已經打開並禁止新的報告。 –
好東西。有意義並將實施 – Sedaition