首页 理论教育 验证输入为空的简单程序及数据库连接优化方法

验证输入为空的简单程序及数据库连接优化方法

时间:2023-10-29 理论教育 版权反馈
【摘要】:以下程序就是使用JavaScript验证输入是否为空的简单范例。专业开发者的习惯是,把这个连接数据库的语言写在一个conn.php文件中,用文件包含的方法引入到程序文件中。conn.php可以写成这样:可以看出,其中包含错误判断等完整的程序,在程序文件中只需要加入:include;这样大大简化了程序,如果数据库更名,则不用一个个程序去改,效率非常高。

验证输入为空的简单程序及数据库连接优化方法

1. 添加主编、编辑、记者类型主页和session赋值

简单范例中,只有系统管理员和注册用户两个类型的用户,在后面我们还将用到添加主编、编辑、记者三个类型的用户。需要在login.php中加入这三种用户的判断和转向语句。

另外,分别为主编、编辑、记者建立主页homepage_chief.php、homepage_editor.php、homepage_reporter.php。

修改每个主页前面的类型判断:

2. 添加用户注册程序

(1)管理员注册程序

用户注册有两种情况,一种是用户自己注册,另一种是管理员帮助用户注册。如果是用户自己注册,用户类型只能是user不能是别的类型,否则如果外面的用户随便就可以把自己注册成系统管理员(admin)或领导(chief),整个系统就乱了。

程序1 系统管理员注册首页(admin_reg.php)

程序2 系统管理员注册存储程序(admin_reg_save.php)

程序讲解:

(a)下拉式菜单

Input传值变量名在name中,值在用户填的文本框中。而下拉式菜单传值变量名在select的name中,值在option的value中,至少五个value,传哪个到下一页,要看用户选择哪个了。

(b)管理员的权限判断

由于管理员的用户注册程序绝对不能让外面的用户使用,所以管理员的这两个用户添加程序前面必须加上权限的判断。

(c)在管理员用户首页加上添加用户的链接

(2)普通用户注册

如果是普通用户的注册程序,由于用户还没有注册,自然在程序前不可以加任何session判断,不然还没有注册的用户就无法完成注册的过程了。

普通用户的注册页(reg.html)与管理员注册页还有一个不同点,就是用户类型的部分,管理员用的是下拉框,普通用户则应删掉。

在注册接收存储界面(reg.php)

$usertype = $_POST['input_usertype'];

应改为:

$usertype = 'user';

就是说,所有自己在网上注册的用户,用户类型只能是'user',不能是别的。

另外,在用户登录页的登录按钮后面,应该加一个注册按钮:(www.xing528.com)

链接普通用户的注册程序。

(3)注册时重名的判断

在两个注册程序中,都存在重名的判断问题。

在打开数据库后,加入以上程序就可以完成重名的判断。

(4)注册时输入内容验证

输入内容验证有两种方法,一种是在客户端使用JavaScript验证,另一种是在服务器端通过PHP进行验证。以下程序就是使用JavaScript验证输入是否为空的简单范例。实际上JavaScript还有更细的验证功能,如验证字符串长度、验证数据类型等,此范例是在数据提交时验证,JavaScript还有在输入的同时进行验证的功能,在此不加赘述。

前面讲过用html5对输入内容进行验证,这里用的是JavaScript进行数据验证的方法,还可以采用以下服务器端验证的方法,程序应放在接收程序reg_save.php和admin_reg_save.php程序中。

判断用户名$u字符串长度要在3~15个字符,并且只能含有英文数字和下画线。

判断密码$p字符串长度不能小于6。

3. MD5密码再加密

MD5是一种流行的加密算法,经常应用于密码的加密存储,一般在密码存入数据库前用MD5对数据进行加密,等取出来时再用MD5来解密。

$password = MD5($password);

通过以上算法就实现了密码的加密。

密码111111加密后的结果是个32位的字符串:96e79218965eb72c92 a549dd5a330112。

4. 对所有用到SQL的地方使用防注入处理

在用户登录时,有必要将与SQL相关的语句改为预处理模式。

5. 使用conn.php统一打开数据库

我们运行的程序只要有数据库,就会有以下连接数据库的语言

专业开发者的习惯是,把这个连接数据库的语言写在一个conn.php文件中,用文件包含的方法引入到程序文件中。

conn.php可以写成这样:

可以看出,其中包含错误判断等完整的程序,在程序文件中只需要加入:

include('conn.php');

这样大大简化了程序,如果数据库更名,则不用一个个程序去改,效率非常高。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈