Board logo

標題: 10-3-2 資料儲存與狀態顯示 [打印本頁]

作者: 小誌    時間: 2011-4-22 02:54     標題: 10-3-2 資料儲存與狀態顯示

10-3-2   資料儲存與狀態顯示
儲存報名者資料的add.php程式網頁其任務有兩項:將資料寫入資料庫,顯示報名狀態與參加者清單列表連結。

1、報名者在報名網頁in.php中填寫好相關的資料,則表單中的資料將由本程式網頁來寫入至資料庫中;請特別注意『actname』這個變數值,這個變數是用來接取報名者所要參加的活動項目(下拉選單的選項值)!我們利用此變數值來開啟相對應的資料庫資料表,而且將此變數值用來作為網頁顯示的標題;如下圖所示:
[attach]5728[/attach]
圖10-19  『actname』變數應用。

2、查看已參加人員的連結設計是採用「表單」方式建立,雖然報名者所看到的網頁畫面只有「查看已參加人員」這個按鈕,但是,當報名者按下此一按鈕時卻有一項欄位資料被送出,不是按鈕的值(Value)喔,而是我們所建立的一個隱藏欄位:actname!
  1. <form method="POST" action="list.php">
  2. <p align="center">
  3. <input type="hidden" value="<?=$actname?>" name="actname">
  4. <input type="submit" value="查看已參加人員" style="background-color: #008000; color: #FFFFFF; border-style: groove">
  5. </p></form>
複製代碼
3、當報名者按下「查看已參加人員」按鈕,則表單中的資料是交由list.php程式網頁來處理,因此在FORM標籤中必須將action屬性設定為list.php,同時,資料的傳送方式method屬性設定為POST。
[attach]5729[/attach]
圖10-20  表單設計。
作者: 小誌    時間: 2011-4-22 02:55

add.php
  1. <?
  2. //接收資料
  3. $name = $_REQUEST["name"];
  4. $email = $_REQUEST["email"];
  5. $actname = $_REQUEST["actname"];

  6. //連結MySQL Server
  7.     $conn = mysql_connect("localhost", "root", "12345a");
  8. //選擇資料庫
  9.     mysql_select_db("Report", $conn);
  10. //指定提取資料的校對字元表
  11.     mysql_query("set character set big5");
  12. //建立查詢字串用以判斷是否已經報名過
  13. $SQL="Select 姓名 From " .$actname . " Where 姓名='" . $name . "'";
  14. $RS=mysql_query($SQL);

  15. if (!mysql_fetch_array($RS))
  16. {
  17. //如果沒有報名過則寫入資料
  18. $sql = "Insert Into " .$actname . " (姓名, Email) Values ('";
  19. $sql = $sql . $name . "', '";
  20. $sql = $sql . $email . "')";
  21. mysql_query($sql);
  22. $msg="你已經順利完成<font color=#FF3300>" .$actname. "</font>研討會報名";
  23. }
  24. else  //已報名過
  25. {
  26. $msg="你已經報名過<font color=#FF3300>" .$actname. "</font>研討會";
  27. }
  28. ?>

  29. <html>
  30. <head>
  31. <meta http-equiv="Content-Type" content="text/html; charset=big5">
  32. <title>線上報名</title>
  33. </head>
  34. <body>
  35. <p align="center"><img border="0" src="tit.gif" width="231" height="40"></p>
  36. <p align="center"><?=$msg?></p>
  37. <hr width="80%" color="#FF9900">
  38. <form method="POST" action="list.php">
  39. <p align="center">
  40. <input type="hidden" value="<?=$actname?>" name="actname">
  41. <input type="submit" value="查看已參加人員" style="background-color: #008000; color: #FFFFFF; border-style: groove">
  42. </p></form>
  43. </body>
  44. </html>
複製代碼

作者: pix756    時間: 2012-8-28 09:54

小誌大你好:

我練習到這裡出現了這個問題,

如下圖:

[attach]12303[/attach]

我有檢查資料庫裡有正常寫入輸入的資料。

但在in.php中按下報名確認後到add.php中,

會出現這些訊息。

想請小誌大為我解惑一下。

謝謝。
作者: gucci    時間: 2012-8-29 00:42

回復 3# pix756


    我試用了,但沒你所說的問題耶?!
作者: pix756    時間: 2012-8-29 02:03

回復 4# gucci

真是怪了,我再重新練習一遍,

gucci謝謝你喔!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)