国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

thinkphp框架 實現注冊登錄程序

2024-09-09 15:20:19
字體:
來源:轉載
供稿:網友

thinkphp框架有感(一)

一:每一個html表單都需要在控制器中進行調用,否則無法對表單中的數據進行控制。

二:html中,<form>標簽里的action地址應指向控制器中所對應的方法名。

三:在瀏覽器中如果要通過某個控制器訪問視圖,應訪問到該控制器中的各個方法。

如:http://localhost/tpone/index.php/Home/Index/register

不知為何我直接訪問http://localhost/tpone/index.php/無法實現頁面跳轉的功能,但訪問到方法層時就可以.

四:model

并不是必須要建,我目前對model不是很收悉,這次的程序完成品中,我最后是將所有的操作數據庫代碼寫在了controller中,沒有建立model.

五:多用var_dump()進行調試,它可以判斷出具體問題到底出在哪。

六:之前整個程序中困擾我最厲害的是各個文件的調用路徑和配置問題,好吧,其實我現在這方面也比較模糊.

這次”thinkphp框架實現注冊登錄程序“的最終成品一共由四個文件組成,一個控制器,三個html頁面.

具體功能:

1,注冊頁面輸入信息,信息會被寫入后臺數據庫.

2,登錄界面輸入正確的用戶名和密碼后會跳轉到新的頁面將數據庫中所有注冊人的信息展示出來(除了密碼).

3,登錄和注冊頁面之間可通過按鈕相互跳轉.

IndexController.class.php文件:

  1. <?php 
  2. namespace Home/Controller; 
  3. use Think/Controller; 
  4.  
  5. class IndexController extends Controller 
  6.  
  7. //登錄控制器 
  8.  public function Index() 
  9.  { 
  10.   $this->display(index);//加載view/index目錄下的index.html文件 
  11.  } 
  12.  
  13.   function login() 
  14.   { 
  15.   $User =  M("User");    //  進行數據庫表的實例化,User是我的表名。得到$User對象。 
  16.  
  17.   $data['user'] = $_POST["user"]; 
  18.   $data['password'] = $_POST["password"]; 
  19.  
  20.     if($data['user'] == "" || $data['password'] == "")   
  21.     {   
  22.     echo "<script>alert('請輸入用戶名或密碼!'); history.back();</script>";  //js程序,彈出對話框顯示信息,并返回上個頁面 
  23.     }   
  24.     else  
  25.     $result = $User ->query("select user,password from user where user = '$_POST[user]' and password = '$_POST[password]'");//調用$User對象的query方法來執行sql語句。和數據庫中的用戶名和密碼比對,看是否正確 
  26.         if($result)   
  27.         {   
  28. $this->success('登錄成功''result'); 
  29.         }   
  30.         else   
  31.         {   
  32.             $this->error('用戶名或密碼不正確!');   
  33.         }   
  34.     } 
  35.   } 
  36.  
  37.   //-------------------------------------------------------------------------------------------------------------- 
  38.  
  39.   //注冊控制器 
  40.   public function Register() 
  41.  { 
  42.   $this->display(register);//加載view/index目錄下的register.html文件 
  43.  } 
  44.  
  45.     function zhuce() 
  46.   { 
  47.   $User =  M("User");    //  進行數據庫表的實例化,User是我的表名。得到$User對象。 
  48.  
  49.   $data['user'] = $_POST["user"]; 
  50.   $data['password'] = $_POST["password"]; 
  51.   $data['passwordcheck'] = $_POST["passwordcheck"]; 
  52.   $data['sex'] = $_POST["sex"]; 
  53.   $data['subject'] = $_POST["subject"]; 
  54.  
  55.   if($data['user'] == "" || $data['password'] == ""|| $data['passwordcheck'] == ""|| $data['sex'] == ""|| $data['subject'] == "")   
  56.     {   
  57.         echo "<script>alert('請填寫完整!');history.back(); </script>";  //js程序,彈出對話框顯示信息,并返回上個頁面 
  58.     }   
  59.   else  
  60. if($data['password'] == $data['passwordcheck'])     //密碼和確認密碼是否一致 
  61.     { 
  62.    $result = $User ->query("select user from user where user = '$_POST[user]'"); 
  63. if($result)    //如果為真,則已存在 
  64. echo "<script>alert('用戶名已存在');history.back();</script>"
  65. else 
  66. $User->add($data); 
  67. if($User)  
  68. echo "<script>alert('注冊成功!');history.back();</script>"
  69.         else  
  70. throw_exception("數據庫添加失敗"); 
  71.     } 
  72. else 
  73. echo "<script>alert('密碼不一致!');history.back();</script>"
  74.   } 
  75.  
  76.   //-------------------------------------------------------------------------------------------------------------- 
  77.  
  78.   //登錄后顯示結果控制器 
  79.  
  80.   function result() 
  81.   { 
  82.  $User =  M("User"); 
  83.  $data=$User->select(); 
  84.  $this->data=$data
  85.  $this->display(); 
  86.   } //Vevb.com 
  87.  
  88. ?> 

index.html文件:

  1. <!DOCTYPE 
  2. html 
  3. PUBLIC 
  4. "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  5. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  6. <html 
  7. xmlns="http://www.w3.org/1999/xhtml"> 
  8. <head> 
  9. <meta 
  10. http-equiv="Content-Type" 
  11. content="text/html; charset=utf-8" 
  12. /> 
  13. <title>登錄頁面</title> 
  14.  
  15. <style 
  16. type="text/css"> 
  17.  
  18.  
  19. #form1 
  20.  { 
  21.  
  22. width:250px; 
  23.  
  24. height:250px; 
  25.  
  26. margin:20px 
  27. auto; 
  28.  
  29. border:1px 
  30. #039 
  31. solid; 
  32.  
  33. padding:20px 
  34. 20px; 
  35.  } 
  36.  
  37. </style> 
  38.  
  39. <script 
  40. type='text/javascript'> 
  41.  function 
  42. freshVerify() 
  43.  { 
  44.  
  45.  
  46.  document.getElementByIdx_x_x_xx('verifyImg').src='__URL__/verify/'+Math.random(); 
  47.  
  48.  } 
  49.  
  50.  
  51. </script> 
  52.  
  53. </head> 
  54. <body> 
  55.  
  56. <form 
  57. name="form1" id="form1" method="post" 
  58. action="__URL__/login"> 
  59.  
  60. 登錄帳號:<br/><br/> 
  61.  
  62. 姓名:<input type="text" name="user"/> 
  63. <br/><br/> 
  64.  
  65. 密碼:<input type="password" 
  66. name="password"/> 
  67.  <br/><br/> 
  68.  
  69. <input type="submit" 
  70. name="submit" value="登錄"/> 
  71.  
  72. <a href="register.html">注冊</a>  
  73.  
  74. </form> 
  75. </body> 
  76. </html> 

register.html文件:

  1. <!DOCTYPE 
  2. html 
  3. PUBLIC 
  4. "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  5. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  6. <html 
  7. xmlns="http://www.w3.org/1999/xhtml"> 
  8. <head> 
  9. <meta 
  10. http-equiv="Content-Type" 
  11. content="text/html; charset=utf-8" 
  12. /> 
  13. <title>注冊頁面</title> 
  14.  
  15. <style 
  16. type="text/css"> 
  17.  
  18.  
  19. #form1 
  20.  { 
  21.  
  22. width:250px; 
  23.  
  24. height:250px; 
  25.  
  26. margin:20px 
  27. auto; 
  28.  
  29. border:1px 
  30. #039 
  31. solid; 
  32.  
  33. padding:20px 
  34. 20px; 
  35.  } 
  36.  
  37. </style> 
  38.  
  39. <script 
  40. type='text/javascript'> 
  41.  function 
  42. freshVerify() 
  43.  { 
  44.  
  45.  
  46.  document.getElementByIdx_x_x_xx('verifyImg').src='__URL__/verify/'+Math.random(); 
  47.  
  48.  } 
  49.  
  50.  
  51. </script> 
  52.  
  53. </head> 
  54. <body> 
  55.  
  56. <form 
  57. name="form1" id="form1" method="post" action="__URL__/zhuce">  
  58.  
  59. 注冊帳號:<br/><br/>  
  60.  
  61. 姓名:<input type="text" name="user" maxlength="16"/><br /><br />  
  62. 性別:<input type="radio" name="sex"  value="男" maxlength="16" />男  
  63.  
  64.  
  65.  <input 
  66. type="radio" 
  67. name="sex"  value="女" maxlength="16"/><br /><br />  
  68. 專業:<input 
  69. type="text" 
  70. name="subject"  maxlength="16"/><br /><br />  
  71.  
  72.  
  73. 密碼:<input type="password" 
  74. name="password" 
  75.  maxlength="16"/><br /><br />  
  76. 確認密碼:<input type="password"name="passwordcheck" maxlength="16"/><br /><br />     
  77.  
  78. <input type="submit" name="btn1"     
  79. id="btn1" 
  80. value="提交" /> 
  81. <a 
  82. href="index.html">登錄</a> 
  83.  
  84. </form> 
  85. </body> 
  86. </html> 

result.thml文件:

  1. <html> 
  2. <head> 
  3. <title>信息頁面</title> 
  4. </head> 
  5. <body> 
  6. <b>目前已注冊的用戶</b><br/><br />  
  7. <foreach name="data" item="vo">   
  8.  
  9. <li>用戶名:{$vo.user}&nbsp;&nbsp; 
  10.  
  11.  
  12. 性別:{$vo.sex}&nbsp;&nbsp; 
  13. 專業:{$vo.subject}<br/><br />  
  14. </li> 
  15.  
  16. </foreach> 
  17.  
  18. </body> 
  19. </html>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 浙江省| 凭祥市| 盘锦市| 广元市| 芒康县| 全州县| 汤阴县| 鄂尔多斯市| 乐东| 肥城市| 海南省| 武穴市| 南部县| 榆林市| 正安县| 惠水县| 镇雄县| 翁源县| 平南县| 洛宁县| 右玉县| 荃湾区| 边坝县| 汪清县| 广南县| 保亭| 芒康县| 隆德县| 屏南县| 霍山县| 陆川县| 施秉县| 百色市| 青阳县| 永吉县| 河间市| 宝鸡市| 乌鲁木齐市| 海兴县| 遵化市| 南京市|