PHP登录/注册
问题描述:
我有一个似乎很明显的问题,但我不确定我是否正确理解它。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代码。
如何让最终用户隐藏这种类型的信息,同时仍然能够返回其用户名已被使用的消息,或者用户名或密码不正确并且保持表单不变?
希望我要求的是有道理的。
在此先感谢!
答
回答你的问题是在评论部分。其他一半的答案是由@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]
答
首先你为你的网站制作一个功能文件,在这个文件中你可以为你的网站制作所有的功能。
让我们将这个文件命名为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);
?>
我希望你能找到你的解决方案
使用'他们已被弃用mysql_',使用新的'mysqli_ *'站的第一,或'PDO',第二你的连接缺少第三个参数 – Ghost 2014-09-11 04:13:08
你的脚本以“ wavemode 2014-09-11 04:15:33
所有的php代码必须以'结尾'PHP是服务器端脚本语言,所以它不会在源代码中显示。你也没有传递'mysql_connect'函数的所有参数 – Vidhi 2014-09-11 04:19:27