2014-09-11 238 views
2

我有一個似乎很明顯的問題,但我不確定我是否正確理解它。PHP登錄/註冊

讓我註冊/登錄頁面的時候,我不想讓最終用戶能夠看到的源代碼進入數據庫(即,用戶名,密碼)

$connection = mysql_connect("localhost","root") or die ("Couldn't connect to server."); 
    $db = mysql_select_db('RegisteredUsers', $connection) or die ("Couldn't select database."); 

本地主機作爲用戶名和root,即密碼。這是標準嗎?真的有關係嗎?當我去其他網站有用戶登錄/註冊頁面時,他們不會出現.php網站,當我查看源代碼時,我絕對不會看到任何PHP代碼。

如何讓最終用戶隱藏這種類型的信息,同時仍然能夠返回其用戶名已被使用的消息,或者用戶名或密碼不正確並且保持表單不變?

希望我要求的是有道理的。

在此先感謝!

+1

使用'他們已被棄用mysql_',使用新的'mysqli_ *'站的第一,或'PDO',第二你的連接缺少第三個參數 – Ghost 2014-09-11 04:13:08

+0

你的腳本以「<?php」開頭?所有的PHP代碼都必須包含這個。 – wavemode 2014-09-11 04:15:33

+0

所有的php代碼必須以'<?php'開頭並以'?>結尾'PHP是服務器端腳本語言,所以它不會在源代碼中顯示。你也沒有傳遞'mysql_connect'函數的所有參數 – Vidhi 2014-09-11 04:19:27

回答

3

回答你的問題是在評論部分。其他一半的答案是由@deemi給出的。

您應該知道PHP腳本在服務器上運行。這就是爲什麼它是服務器端腳本語言。當Web瀏覽器請求HTML網頁時,服務器返回HTML網頁。當請求的頁面包含PHP腳本時,服務器開始運行。服務器運行PHP代碼並生成純HTML頁面並將其返回。這就是爲什麼雖然頁面名稱在瀏覽器中以.php擴展名顯示,但在這一點上它是純粹的HTML。您不會在瀏覽器中看到任何PHP或其他服務器端語言的代碼。

爲什麼網頁不會顯示爲.php?因爲他們是「漂亮的URL」是

improves the usability and accessibility of a website by being immediately and intuitively meaningful to non-expert users. 
[source: wikipedia.org] 
0

首先你爲你的網站製作一個功能文件,在這個文件中你可以爲你的網站製作所有的功能。

讓我們將這個文件命名爲functions.php。

在這個文件中,你可以做常數是這樣的:

<?php 
define(DB_NAME, "Your DB Name"); 
define(DB_HOST, "DB Host"); 
define(DB_USER, "DB User"); 
define(DB_PASSWORD, "DB password"); 
?> 

如果您沒有設置數據庫密碼,那麼就應該是空的就像這樣:

define(DB_PASSWORD, ""); 

你應該mysqli_connect()輸入三個參數:

Host Name 
User 
Password 

現在在你的數據庫連接文件中,你可以像第是:

<?php 
$con = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD); 
mysqli_select_db($con, DB_NAME); 
?> 

我希望你能找到你的解決方案