Board logo

標題: [教學] (PHP+IIS+MsSQL教學第35篇) 實戰應用_簡易線上報名 [打印本頁]

作者: 小誌    時間: 2010-5-18 00:42     標題: (PHP+IIS+MsSQL教學第35篇) 實戰應用_簡易線上報名

『線上報名』顧名思義就是您在家中電腦前,只要透過網路連線就可以進行各項活動的報名,不管是旅遊活動或是各項研討會喔!

 本範例中的報名程式是針對研討會活動而設計,管理者可訂定多個項目,報名者只要透過表單中的下拉式功能表選擇自己要參加的活動項目及填寫自己的姓名與學號即可線上報名,雖說是簡易版,但程式功能已與一般商業網站不相上下了喔。

本程式範例共分為四個部分,分別是:



請注意:
 我們資料庫的設計是依據「研討會項目」來設計,也就是說,有幾個活動項目在資料庫檔案中就有幾個資料表,例如本範例中可參加的研討會項目有「網頁設計」與「影像處理」兩個主題,因此在資料庫檔案中就存在有與項目名稱相同的「網頁設計」與「影像處理」這兩個資料表!如下圖所示:
[attach]616[/attach]
 
資料表的結構很簡單,只有姓名與Email兩個欄位,您可以依需要報名者填寫的資料項目而自行增加其他欄位項目。
[attach]617[/attach]


本實戰應用_簡易線上報名完整程式與資料庫下載:[attach]618[/attach]
作者: 小誌    時間: 2010-5-18 00:52

活動報名首頁
依照目前可讓報名者參加的研討會項目建立一個下拉式功能表,讓報名者直接選取欲參加的活動項目:
[attach]619[/attach]


注意
  1. <form method="POST" action="add.php">
複製代碼
in.php
  1. <HTML>
  2. <head>
  3. <title>研討會報名單</title>
  4. </head>
  5. <BODY>
  6. <p align="center"><img border="0" src="tit.gif"></p>
  7. <hr width="80%" color="#FF9900">
  8. <form method="POST" action="add.php">
  9. <div align="center">
  10. <center>
  11. <table border="1" bordercolor="#FFFFFF" bgcolor="#3399FF">
  12. <tr>
  13. <td width="50%"><font color="#FFFFFF" size="2">
  14. 研討會課程選擇:</font></td>
  15. <td width="50%"><font size="2">
  16. <select size="1" name="actname">
  17. <option value="網頁設計">網頁設計</option>
  18. <option value="影像處理">影像處理</option>
  19. </select></font></td></tr>
  20. <tr><td width="50%">
  21. <font color="#FFFFFF" size="2">姓名:</font></td>
  22. <td width="50%"><font size="2">
  23. <input type="text" name="name" size="20"></font></td></tr>
  24. <tr><td width="50%">
  25. <font color="#FFFFFF" size="2">E-mail:</font></td>
  26. <td width="50%"><font size="2">
  27. <input type="text" name="email" size="20"></font></td></tr>
  28. <tr><td width="100%" colspan="2"><p align="center">
  29. <input type="submit" value="確認參加" style="background-color: #00FFFF; border-style: groove; border-color: #FFFFFF">
  30. <input type="reset" value="清除重寫" style="background-color: #FF66CC; border-style: ridge; border-color: #FFFFFF">
  31. </p></td></tr></table>
  32. </center></div>
  33. </form>
  34. <hr width="80%" color="#FF9900">
  35. </BODY>
  36. </HTML>
複製代碼

作者: 小誌    時間: 2010-5-18 00:57

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



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

  6. //連結SQL Server
  7.     $conn = mssql_connect("127.0.0.1", "sa", "12345");
  8. //選擇資料庫
  9.     mssql_select_db("Report", $conn);
  10. //建立查詢字串用以判斷是否已經報名過
  11. $SQL="Select 姓名 From " .$actname . " Where 姓名='" . $name . "'";
  12. $RS=mssql_query($SQL);

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

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

作者: 小誌    時間: 2010-5-18 01:01

已報名者清單列表
當報名者在資料儲存與狀態顯示網頁中按下「查看已參加人員」按鈕,則表單中的資料就由list.php程式網頁作清單列表的動作:
[attach]623[/attach]




list.php
  1. <?
  2. //接收查詢研討會資料
  3. $actname=$_REQUEST["actname"];
  4. //連結SQL Server
  5.     $conn = mssql_connect("127.0.0.1", "sa", "12345");
  6. //選擇資料庫
  7.     mssql_select_db("Report", $conn);
  8. //建立查詢字串
  9. $SQL="Select * From " . $actname ;
  10. //執行查詢命令        
  11. $RS=mssql_query($SQL);       
  12. ?>

  13. <HTML>
  14. <head>
  15. <title><?=$actname;?>研討會報名人員清單</title>
  16. </head>
  17. <BODY>
  18. <p align="center">
  19. <img border="0" src="tit.gif">
  20. <p Align="Center">
  21. <font color="#FF9900"><?=$actname;?>研討會報名人員清單</font></p>
  22. <div align="center">
  23.   <center>
  24. <TABLE Border=1 Cellspacing=1 bordercolor="#800000">     
  25. <TR BgColor=#00FFFF>     
  26. <TD align="center" bgcolor="#0066FF">
  27. <font size="2" color="#FFFFFF">姓名</font></TD>   
  28. <TD align="center" bgcolor="#0066FF">
  29. <font size="2" color="#FFFFFF">E-mail</font></TD>   
  30. </TR>   
  31.    
  32. <?
  33. //列出報名資料
  34. while ($fields=mssql_fetch_array($RS))
  35. {
  36. ?>  
  37.    <TR Valign=TOP>   
  38.    <TD align="center">   
  39.     <p align="center"><font size="2"><?=$fields["姓名"];?></font></TD>   
  40.    <TD align="center">   
  41.     <p align="center"><font size="2"><?=$fields["Email"];?></font></TD>   
  42.    </TR>   
  43. <?   
  44. }      
  45. ?>   

  46. </TABLE>   
  47.   </center>
  48. </div>
  49. <p align="center"><font size="2"><a href="in.ph">返回登錄頁</a></font></p>
  50. </html>
複製代碼
注意
活動欄位選項數量、名稱必須與資料表數量、名稱相符:您可以自行增減活動項目,但是,活動欄位的名稱務必是資料庫檔案中已經存在的資料表:
[attach]624[/attach]
作者: carlkyo    時間: 2013-2-18 09:13

學長這個要怎麼防止別人F5一直報名啊
謝謝
作者: php    時間: 2013-7-7 17:34

您好:
謝謝您所熱心分享的內容,讓像我這般的新手獲益良多!!!!!
但礙於權限的關係無法仔細瞭解程式內容,可以麻煩大大分享給我嗎><
真是感激不盡!!!!!!!!!!!!
作者: pijht880    時間: 2013-8-3 13:31

請問可以加入以下功能嗎
1.上傳檔案或照片
2.填寫完成後將資料重新讀取出來做確認再送出
3.事後再用自己的某欄位或密碼做認證讀出自己的資料做修改
4.自己列印報名表(pdf或印表機)

因為目前查到或學到的都是分散的內容
一組合就一直有錯誤
初學又實在弄不清楚題出在哪
拜託大人指教
作者: orscar    時間: 2014-1-9 14:38

這有檢查是否有重複申請嗎?
作者: ladioussuapp    時間: 2017-4-15 16:10

您好:
謝謝您所熱心分享的內容,讓像我這般的新手獲益良多!!!!!




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