2015-04-24 65 views
-1

我在想如何在我的應用程序中管理數據。PHP + JS應用程序結構

目前,它是這樣的:

一個JavaScript腳本觸發後查詢經過{"init" : 1}一旦頁面加載,那麼它觸發後的查詢與{"update" : 1}每N秒相同的文件和打印返回值到頁面。

我目前有(代碼是近似只是爲了說清楚):

if(isset($_POST["init"])) { 
    $a = new A(); 
    $a->set(5); 
} elseif (isset($_POST["update"])) { 
    $a->update(); 
    return $a->get(); 
} 

但是,這並不工作,因爲它說,沒有$a當我試圖update。我試過讓它GLOBALSTATIC,都沒有幫助。

我該如何管理?我應該如何處理這個問題?

回答

0

你需要找到的$ id $一個您的更新之前,例如:

if(isset($_POST["init"])) { 
    $a = new A(); 
    $a->set(5); 
} elseif (isset($_POST["update"])) { 
    $a = A->findById($_POST["id"]); 
    $a->update(); 
    return $a->get(); 
} 

而且從用戶注意,抓取未經過濾的數據是一個不好的做法。

+2

寧可在'$ _SESSION' ... –

+0

救不,不,不,我想擁有這一切在服務器端。那可能嗎?同樣在我的情況下,我收到的唯一用戶信息是帖子查詢。 – ohyou

1

在您的代碼中,如果設置了更新,則無法訪問您的$ a,您還應該發送$ a數據以使其可用。
您也可以使用$ _SESSION變量來獲取跨越頁面的$ a,並且它將僅在服務器端進行管理。

session_start(); 
if(isset($_POST["init"])) { 
    $a = new A(); 
    $a->set(5); 
    $_SESSION['a'] = $a 
} elseif (isset($_POST["update"])) { 
    $a = $_SESSION['a']; 
    $a->update(); 
    $_SESSION['a'] = $a; 
} 

我寫的比需要的,所以你明白什麼好我在做更多的線。

+0

''我放了很多行,所以你得到它的權利'' - >什麼? –

+0

我的意思是我寫了更多需要的行,你需要: $ _SESSION ['a'] - > update();例如 – xNeyte

+0

然後你應該明確說明。 –