㈠ 求個php MYSQL的網上選課系統源代碼,後台管理 1.用戶登陸模塊,包刮用戶添加,密碼修改. 用戶登陸身份確認
㈡ 怎樣在百度首頁里加上登錄模塊,使用php語言實現用戶登錄邏輯,不使用資料庫
不用資料庫?。。。那就得規定死了,加個判斷進入,賬號yunban,密碼123456,才能進入首頁,還要保存session。
㈢ PHP用戶注冊及登錄模塊的思路
要什麼思路?
無非就是構建一個表單,將用戶名和密碼傳遞到處理數據的頁面,提交的時候用隱藏的input提交一個時間戳和一個隨機碼來拼密碼串,接收頁面將拼合的串md5加密取個十位八位的存到資料庫里,登陸的時候同樣加密後取同樣位數到資料庫里對比,對比成功之後再到用戶瀏覽器種一個加密的cookie,種cookie的時候需要加入用戶瀏覽器頭信息,以防跨瀏覽器登陸
㈣ thinkphp中不需要用戶進行登陸驗證的和需要用戶登陸驗證的的頁面,怎樣寫一下公用的來模塊來處理他們
寫一個公共的模塊 需要登錄驗證,讓所有需要登錄的模塊繼承這個模塊,不需要登錄的模塊不繼承這個模塊就好了
㈤ PHP用戶驗證登錄模塊的原理是什麼有哪些開源框架提供了實現
phpcms dedecms dz論壇 ecshop shopex 國內那些亂糟糟的開源框架都有這個模塊。原理很簡單,登錄的時候,根據用戶名、密碼 去查詢資料庫里的用戶表,查到值了,就可以登陸,查不到值就不可以登錄
㈥ php 登錄模塊
<?php
if ($_GET[out]) {
SetCookie("temp", "");
echo "<script>location.href='./login_cookie.php'</script>";
}
if ($_POST[username] && $_POST[password]) {
setcookie('name', $_POST[username], time()+3600);
setcookie('pass', md5($_POST[password]), time()+3600);
setcookie('temp', "true", time()+3600);
echo "<script>location.href='./login_cookie.php'</script>";
}
if ($_COOKIE[name] && $_COOKIE[pass] && $_COOKIE[temp]) {
echo 'login ok!<br>your name is '.$_COOKIE[name].
'<br>your password is '.$_COOKIE[pass].
"<br><a href='login_cookie.php?out=1'>logout</a>";
} else {
?>
<form action="" method="post">
username:<input type="text" name="username" value="<?=$_COOKIE[name]?>"/><br/>
password:<input type="password" name="password"/><br/>
<input type="submit" name="login" value="login"/><br/>
</form>
<?php } ?>
㈦ 求一個thinkphp3.2.3登陸模塊的代碼
超級鏈接:ThinkPHP中文網
按照套路,首先貼一下實驗環境:
1. WAMP(集成的那種,最Easy的幾乎不需要配置)
2. ZendStudio7.2(中文網址http://www.zendstudio.net/,裡面提供下載,在線注冊機以及使用教程)
3. ThinkPHP框架+網路UEditor編輯器插件
4. Win7-64bit操作系統
5. 瀏覽器(火狐,IE,Chrome),外加火狐FireBug插件用於調試以及偷樣式
-------------------------------------------------------------華麗分割-------------------------------------------------------------
第一步:找網頁模板(不會美工,PS,見諒。。)
前端頁面我找的是一個大學的實驗室,這里就不貼了,很普通的那種。後台直接下載的模板,感覺蠻漂亮的,運行後如下圖:
第二步:初識網路UEditor插件
由於我要做的是實驗室的網站。實驗室網站主要內容在如下幾個方面:
介紹實驗室的成員
實驗室的項目,成果等
實驗室的新聞以及學術交流信息
可見,信息主要偏重於後台的新聞,文章信息的發布,而前台幾乎不存在編輯。所以重點要在後台實現一個方便的文章發布體系。
我選用了網路出品的UEditor所見即所得編輯器。主要是JS實現的,整合到後台後如下所示,功能真的很多哇:
關於UEditor的如何整合到網站中,請參考UEditor的官網,裡面有詳細教程。
第三步:初識ThinkPHP框架
下面開始介紹ThinkPHP框架,首先為了加強感性認識,先看一看ThinkPHP工程的目錄結構:
文件夾:
admin是後台工程文件夾
home是前台工程
public裡面用於存放CSS文件,JS文件以及網頁裡面的圖片
ThinkPHP框架
ueditor是網路編輯器
下面三個PHP文件:
admin.php是後台工程的入口文件,
index.php是前台工程的入口文件。
config.inc.php,由於這個小項目的幾乎所有數據都放在資料庫里,而前後台都要連接資料庫,所以所有的資料庫配置代碼放在了它裡面。
而剩下的buildpath ,.settings , .project 是Zend IDE生成的,不管它們。
------------------------------------------------------華麗分割-------------------------------------------------------------
由於我這裡面實際是兩個工程(home和admin),只要理解其中一個即可,故下面只介紹後台,即admin部分。
接著往下看,看一下admin.php文件,這是需要了解的第一個文件,即後台的入口文件。
幾個宏定義分別指明了:
1. ThinkPHP框架的路徑
2. 後台應用程序目錄
3. 後台應用程序名稱
4. 開啟調試模式
5. 包含ThinkPHP框架下的ThinkPHP.php文件(重要!)
下面新建一個小工程來演示一下開發過程:
比如整個工程的大目錄是xxx,然後把ThinkPHP框架拷貝進來,並添加admin.php文件(如上圖中的代碼)
此時在瀏覽器裡面輸入:http://localhost/xxx/admin.php會自動生成admin目錄,如下圖
打開admin目錄,內容如下:
其中主要關注四個文件夾:
1. Conf 存放工程配置文件(比如定義一些常量什麼的)
2. Lib (最重要!存放MVC模式中的模型類和控制器類)
3. Tpl(存放模板文件,按道理前面我們下載的模板應該放在這里)
4. Runtime(存放運行時文件,比如緩存啊,資料庫表緩存什麼的)
最後貼出瀏覽器上的運行結果。。對不起貼的有點晚。
如果能看到上面的畫面,說明ThinkPHP可以正常運行啦。下面我們繼續完善吧。
------------------------------------------------------------華麗分割-----------------------------------------------------
第四步:初識MVC模式
到這里,不得不提一下在ThinkPHP中的MVC的概念。MVC很有名,叫做模型-視圖-控制器模式。
在ThinkPHP裡面:
模型(Model)可以認為就是一張資料庫表。那我做的工程來說:
對於一篇文章(新聞),它的屬性包括ID號,標題,作者,創建時間,最後修改時間以及文章內容。這就是一篇文章的模型。然後就按照這個思路建立對應的資料庫表:
視圖(View)可以認為就是用戶看到的東西,即模板,或者說皮膚。
比如前面貼出的後台模板,那個在ThinkPHP概念中就是視圖。
控制器(Action)可以認為是視圖與模型之前的橋梁。因為網站上顯示的內容基本全部來自眾多模型們(資料庫表們),而控制器負責的就是決定在哪些情況下顯示哪些模型裡面的哪些數據。還是拿我的例子說,我後台工程的首頁對應的控制器是Index控制器。(Index控制器為所有工程的默認控制器)。但是你想,一個網站的首頁一般是有很多按鈕啊,超鏈接啊什麼的,可以跳到其他地方去的東西。貼張圖:
這是我的後台首頁。可以看到左邊有導航欄,右下邊列出了資料庫當前的文章信息,可以看到一共有三篇文章。比如我現在可能想做:
1. 把文章」1111測試文章發布系統」刪除
2. 把文章」詹姆斯高捧第3座MVP獎杯」改成」詹姆斯高捧第4座MVP獎杯」
3. 新添加一篇別的文章
這就對應了Index控制器的不同功能了,也就是Index控制器類IndexAction的不同方法(比如取名edit()方法,delete()方法,add()方法)。當然之所以會看到頁面顯示,是因為默認情況下執行Index控制器的Index()方法,在該方法中調用display()方法顯示模板(視圖)。不信可以看默認的文件,裡面的Index控制器的Index方法實現的就是HelloThinkPHP的歡迎頁面。
比如:
IndexAction目錄為:
/xxx/admin/Lib/Action/IndexAction.class.php
內容為:
可以看到,默認情況下在index方法中調用了$this->display()
(注意看IndexAction 繼承Action類,display方法是Action類的方法);
調用display()方法後,ThinkPHP會在對應工程的Tpl文件夾下的Index文件下下找index.html文件。其中前一個Index文件夾對應的是Index控制器,index.html對應的是index()方法。
所以,一個控制器類對應一個模板文件夾。具體對應多少個模板跟控制器類有多少個方法以及有多少個方法需要display有關。
故,此時對應的模板文件路徑為:
/xxx/admin/Tpl/Index/index.html
細心的朋友可能要問了,你這里只說了視圖(模板)和控制器啊,模型呢?你是怎麼知道資料庫里的那三篇文章的信息的呢?其實不然,我在index方法裡面還做了一些事情,下圖是精簡版index方法:
可以看到,第一步,我就實例化了一個模型。模型名字是Article,前面說到模型就是資料庫表,此時查看一下有哪些資料庫表:
第一個表名字是think_article,可以看到還差一個前綴think_,其實這個是在配置文件中指定的,還記得前文所述的config.inc.php嗎? 其配置代碼如下所示:
<?php
return array(
'DB_TYPE' =>'mysql',
'DB_HOST' =>'localhost',
'DB_NAME' =>資料庫名字,
'DB_USER' =>用戶名,
'DB_PWD' =>密碼,
'DB_PORT' =>'3306',
'DB_PREFIX' =>'think_',
);
?>
第二條語句就是查詢資料庫。ThinkPHP提供了很多種查詢資料庫的方法,我使用的是連貫操作法。
執行完第二條語句後$new_list變數就存儲了所有文章的信息,那麼怎麼把它顯示到界面上去呢?
看第三句話,它把該變數分配給了一個叫做』new_list』的變數 (好像同名了哇。。不過沒關系,關鍵是assign方法),然後我們在模板文件裡面進行替換就OK啦。默認情況下,在HTML裡面寫 {$new_list}就OK啦。當然,這裡面的new_list是一個復合的變數,不是單純的數字或者字元串。。不過ThinkPHP提供了很多循環的方法給我們使用,很是方便。
最後一條語句就是顯示對應的視圖文件了。我們就能把資料庫中的文章信息按照視圖(模板)裡面定義的規則顯示在瀏覽器中了。
---------------------------------------------------------------華麗分割-----------------------------------------------------------
源碼下載
最後給出示例工程xxx的源碼。有需要的朋友可以下載,可以很快的了解ThinkPHP的大概原理。
源碼功能:
1.後台管理員登陸
2.添加文章,編輯文章,刪除文章
3.前台顯示文章
使用方法:
1.解壓到網站根目錄下,默認是www文件夾下的xxx文件夾:
2.在MySQL中新建一個資料庫,比如rubydb,整理成utf8-genaral-ci
3.導入資料庫表文件夾下的兩個資料庫表 think_article 和think_user,導入後入下圖:
4.配置Config.inc.php文件
[php] view plain
<span style="font-size:16px;"><?php
return array(
'DB_TYPE' => 'mysql',
'DB_HOST' => 'localhost',
'DB_NAME' => '自己建一個資料庫',//需要新建一個資料庫!名字叫
'DB_USER' => '你的資料庫用戶名', //資料庫用戶名
'DB_PWD' => '你的資料庫密碼',//資料庫登錄密碼
'DB_PORT' => '3306',
'DB_PREFIX' <span style="white-space:pre"> </span>=> 'think_',//資料庫表名前綴
);
?></span>
可見,上面的DB_NAME,DB_USER,DB_PWD需要修改
分別是
'DB_NAME'=>'rubydb' ,
'DB_USER' =>'你的mysql登錄賬號' ,
'DB_PWD' =>'你的mysql登錄密碼'
5.運行 http://localhost/xxx/admin.php,彈出後台登錄頁面:
輸入資料庫think_user裡面的用戶信息: ruby97,密碼ruby97 ,再輸入驗證碼即可登錄
㈧ php 設計的登錄和注冊 模塊,當用戶名和密碼 是數字的時候,沒有問題,當用戶名是字母的時候總是出錯
select 你需要顯示的欄位,你需要顯示的欄位 from 你的表 where 欄位='你的變數'
我已經知道你為何出錯了,是你的sql語句里的變數沒有加引號,不加引號的話,在mysql里會為最數字,所以你輸入字元的時候會出錯。這是需要注意的。