我有一個名爲functions.js的文件,其中包含計算學生在測試中得分的函數和。我希望將該總和打印到文件admin.php中的表格中,以便管理員可以看到每個學生擁有的所有分數。將值從一個文件傳遞到另一個javascript
那麼我怎樣才能將sum變量傳遞給另一個文件呢?我嘗試使用onlick動作調用函數,但這並不起作用
我有一個名爲functions.js的文件,其中包含計算學生在測試中得分的函數和。我希望將該總和打印到文件admin.php中的表格中,以便管理員可以看到每個學生擁有的所有分數。將值從一個文件傳遞到另一個javascript
那麼我怎樣才能將sum變量傳遞給另一個文件呢?我嘗試使用onlick動作調用函數,但這並不起作用
我猜你可能想要的東西像這樣
document.getElementById('saveScoreButton').onclick = {
var r = new XMLHttpRequest,
message = document.getElementById('message'),
score = sum();
message.innerHTML = 'Saving your score; please wait a second';
r.open('get', 'savescore.php?score=' + score, true);
r.send(null);
r.onreadystatechange = function() {
if (r.readyState == 4 && r.status == 200) {
message.innerHTML = 'Saved your score';
}
}
}
當您點擊一個ID爲saveScoreButton
的按鈕時,它將得分傳遞給PHP程序savescore.php
。 PHP程序然後必須使用$_GET["score"]
來檢索它。
請注意,如果用戶理解javascript並查看發生了什麼,這對用戶來說很容易。他們可以在瀏覽器的地址欄中輸入'savescore.php?score = 100'。如果你想要一個安全的解決方案,那麼javascript應該只傳遞用戶對PHP程序的答案,然後這個程序會標記測試並總結結果。
另外,也可以使用POST方法不是GET的傳遞一個值:
...
r.open('post', 'savescore.php?score=' + score, true);
r.send('score=' + score);
...
然後把它撿起來使用$_POST["score"]
PHP程序。
正如評論中所述,如果您想比較/列表分數,則savescore.php
需要將值存儲在數據庫或文件中,以便可以通過admin.php
檢索這些值。
測試有多種選擇,可以使用複選框或單選按鈕進行選擇,並使用document.getElementById('check1')。checked來計算總和。我也嘗試使用if($ _ POST ['check1'])計算總和,但我不知道如何調用該函數,以便輸出用戶名稱旁邊的分數;所以我應該只使用PHP計算總和並將其存儲在數據庫中,然後從屏幕上輸出它? – user1956190
如果目的只是直接告訴用戶他/她的分數,那麼你可以使用上面的'XMLHttpRequest'來發布表單結果,比如說一個名爲checktest.php的PHP程序,它檢查測試和'回聲的分數。然後,Javascript可以將該分數選爲'r。'r.onreadystatechange'函數中的responseText'。 – Stuart
如果你也/,而不是需要(例如)顯示錶中的所有成績以後再'checktest'將需要存儲每個分數,與用戶的ID一起,在數據庫或文件,這樣'admin.php'能在另一次訪問它。 – Stuart
Javascript運行的是客戶端,PHP運行的是服務器端。因此,您必須在JavaScript中編寫一些代碼,它會更改PHP腳本返回的HTML頁面,並顯示結果。
一旦您的所有文件都加載到客戶端上,就沒有單獨的js文件的概念。客戶端(瀏覽器+ javascript)和服務器(php)是2個獨立的實體。當你的數據是一個地方,其他人不知道它存在。研究ajax作爲兩個位置之間的通信方法,或使用表單並將頁面提交給服務器。
的服務器和瀏覽器如何溝通很好的概述:http://webdesign.about.com/od/ajax/a/aa101705.htm Ajax和PHP:http://www.htmlgoodies.com/tutorials/forms/article.php/3479121/So-You-Want-A-Form-Huh.htm阿賈克斯的
基礎:How does the communication between a browser and a web server take place?表單提交的
基礎http://www.switchonthecode.com/tutorials/simple-ajax-php-and-javascript
你需要一個數據庫! –
您是否有意將其寫入服務器上的文件,或將值傳遞/存儲在某處以便其他頁面可以訪問它? – Krease