Exercise 8

GET method、cookie、time、(function)


題目: 小小銀行
說明: 有 4 位玩家在玩大富翁,需要一個電子銀行來幫他們記帳。
(1) 建立一個 money.php 來顯示 4 個玩家的目前金額 (從 cookie 中取得),並顯示金額最後更新時間。
(2) 建立一個 change_money.php 若無傳入值時,則顯示表單,表單的欄位有玩家編號、目前金額兩個欄位,請使用 GET 的方式進行傳輸, 當有傳入值時,驗證是否為玩家的編號,且金額不為空,正確的話,將金額存入 cookie 中,錯誤則提示錯誤訊息。

※ 註1: 以下範例格式可供參考,不一定須按照以下格式製作,但須符合題目要求。
※ 註2: 可使用 function 輔助 HTML 排版輸出,讓語法較為簡潔。
※ 註3: 建議將 cookie 的逾時設定為 1 天。

預期結果 (money.php 初始狀態)

大富翁電子銀行

玩家 1

存款: 0元

玩家 2

存款: 0元

玩家 3

存款: 0元

玩家 4

存款: 0元

最後更新時間: ---


更改金額
HTML (money.php 初始狀態)
<h1>大富翁電子銀行</h1>
<h2>玩家 1</h2>
<p>存款: 0元</p>
<h2>玩家 2</h2>
<p>存款: 0元</p>
<h2>玩家 3</h2>
<p>存款: 0元</p>
<h2>玩家 4</h2>
<p>存款: 0元</p>
<h3>最後更新時間: ---</h3>
<br>
<a href="change_money.php">更改金額</a>
預期結果 (money.php 存入金額後)

大富翁電子銀行

玩家 1

存款: 5000元

玩家 2

存款: 3000元

玩家 3

存款: 4500元

玩家 4

存款: 6000元

最後更新時間: 2020/07/24 12:43:56


更改金額
HTML (money.php 存入金額後)
<h1>大富翁電子銀行</h1>
<h2>玩家 1</h2>
<p>存款: 5000元</p>
<h2>玩家 2</h2>
<p>存款: 3000元</p>
<h2>玩家 3</h2>
<p>存款: 4500元</p>
<h2>玩家 4</h2>
<p>存款: 6000元</p>
<h3>最後更新時間: 2020/07/24 12:43:56</h3>
<br>
<a href="change_money.php">更改金額</a>
預期結果 (change_money.php 輸入金額前)


HTML (change_money.php 輸入金額前)
<form action="" method="get">
	<label for="user">玩家編號: </label>
	<input type="number" name="user" id="user" placeholder="請輸入玩家編號">
	<br />
	<label for="money">金額: </label>
	<input type="number" name="money" id="money" placeholder="請輸入金額">
	<br />
	<input type="submit" value="變更金額">
</form>
預期結果 (change_money.php 未輸入使用者編號)

警告: 使用者編號錯誤!



HTML (change_money.php 未輸入使用者編號)
<p>警告: 使用者編號錯誤!</p>
<form action="" method="get">
	<label for="user">玩家編號: </label>
	<input type="number" name="user" id="user" placeholder="請輸入玩家編號">
	<br />
	<label for="money">金額: </label>
	<input type="number" name="money" id="money" placeholder="請輸入金額">
	<br />
	<input type="submit" value="變更金額">
</form>
預期結果 (change_money.php 輸入金額後)

提示:已變更玩家1的金額為5000元!

前往銀行首頁
HTML (change_money.php 輸入金額後)
<p>提示:已變更玩家1的金額為5000元!</p>
<a href="money.php">前往銀行首頁</a>