我有一個PHP頁面, 'home.php',開頭是這樣的:
require_once "data/secure/sessions.php";
session_start();
require "data/secure/dbconn.php";
require "data/get_data.php";
....
<div id="store_items">
<?php echo getStoreItems(); ?>
</div>
...
的sessions.php文件控制會議,如預期工作。然後在同一頁面中的HTML,有可能是這樣開始的)呼籲getStoreItems(功能:
<?php
header("Cache-control: no-store, no-cache, must-revalidate");
header("Expires: Mon, 26 Jun 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
require "secure/dbconn.php";
$current_store_brand = "";
$current_store_name = "";
$items_per_page = 15;
$item_type = "Groceries";
...
function getStoreItems()
{
$current_page = 1;
$store_data = "";
$pages_html = "";
if($GLOBALS['current_store_brand'] != "")
{
$conn = mysqli_connect($GLOBALS['host'], $GLOBALS['user'], $GLOBALS['password'], $GLOBALS['database']) or die("Could not connect to database!".mysqli_connect_error());
...
return "No Stores found for ".$_SESSION['location'].", ".$_SESSION['country'].".";
}
?>
在home.php頁面上,我有一個jQuery函數,通過$不用彷徨調用函數()調用以在用戶單擊按鈕時從文件中獲取更多數據。在第一次運行,當用戶打開頁面,功能完美運行,但當jQuery函數試圖從文件中獲取「get_data.php」數據越多,「home.php頁面返回錯誤
"Undefined variable: _SESSION in data/get_data.php".
我曾嘗試在外部文件中包含'sessions.php'文件,但無濟於事。如果$ _SESSION變量不可用,我還嘗試了一個if ... else ...語句來需要sessions.php文件。爲什麼當我從'home'php'頁面使用jQuery調用外部文件時,可以訪問$ _SESSION全局數組?在jQuery的部分功能如下圖所示:
$('#store_items').on("click", ".item > .basket_data > button", function(event)
{
event.preventDefault();
...
$.get("data/get_data.php", {"basket":"", "username":$username, "item_name":$item_name, "item_qty":$item_qty, "store_brand":$store_brand, "store_name":$store_name}, function($data)
{
$('#shopping_cart').html($data);
}).fail(function(error)
{
$('#shopping_cart').html("An error occurred: " + error.status).append(error.responseText);
});
@Snowburn,謝謝,您的評論使我的解決方案。我不得不包括報表
if(!isSet($_SESSION))
{
require "secure/sessions.php";
session_start();
}
函數本身內,而不是在外面的get_data.php文件的開頭,所以它看起來是這樣的:
function getStoreItems()
{
if(!isSet($_SESSION))
{
require "secure/sessions.php";
session_start();
}
....
現在的作品,謝謝! !
我現在的儲蓄在數據庫中我的會議,這就是爲什麼我包括「sessions.php」文件來控制寫入和讀出。我只是嘗試了你所說的,但它仍然不起作用。相信與否,兩天前它運轉良好,然後突然停止工作。我曾試圖撤消我可能做的任何事情,但無濟於事。 –
你的意思是它在工作之前,現在不是? –
是的,它剛剛開始給我錯誤。如果我可能會問,處理會話時文件夾層次結構是否重要?之前,get_data.php和home.php文件位於相同的文件夾級別,現在get_data.php文件是一個名爲'data'的文件夾中更深的文件夾。 –