2014-09-11 283 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); 
?> 

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