到目前为止,你已经了解了足够多的PHP了。该写个小程序练手了。
用户注册系统
写一个index.php页面,有用户名和密码表单,post提交到check.php,输出用户名和"用户名+密码"的md5值
本地建立一个mysql数据库,名叫segmentfault,建立一个表user,字段username password将上题check.php接收到的内容存入
我们先完成HTML部分:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<!DOCTYPE HTML> < html > < head > < title >注册</ title > </ head > < body > < h1 >注册</ h1 > < form action = "check.php" enctype = "application/x-www-form+xml" method = "post" > < p > < label for = "name" >邮箱</ label > < input name = "name" required type = "email" placeholder = "请填写有效邮箱" ></ input > </ p > < p > < label for = "passphrase" >密码</ label > < input name = "passphrase" required type = "passphrase" ></ input > </ p > < p > < input type = "submit" value = "提交" ></ input > </ form > </ body > </ html > |
注意,HTML5对表单的支持比以往版本的HTML好很多,可以直接指明各种type。比如制定了type="email",会检验用户提交的邮件地址是否合法。
然后是check.php。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<!DOCTYPE> < html > < head > < title > 注册成功!</ title > </ head > < body > < h1 > 哇咔咔,你已经注册成功啦!</ h1 > < p >呃……不过注册成功了好像也没什么用,因为本网站除了注册以外好像没有其他功能。</ p > < p >那么,作为补偿,我会告诉你,你的“邮箱+密码”的md5值。</ p > < p >你的邮箱是: |
下面是PHP部分,直接嵌入HTML,这是PHP的优势:
1
2
3
4
5
6
7
8
9
10
|
<?php $username = htmlspecialchars( $_POST [ "name" ]); echo $username ; ?> </p> <p>你的“邮箱+密码”的md5值是: <?php $passphrase = htmlspecialchars( $_POST [ "passphrase" ]); $md5sum = md5( $username . $passphrase ); echo $md5sum ; |
注意我们用了htmlspecialchars,避免用户填入奇怪的东西。
然后是数据库操作,我们使用mysqli,(mysql已经废弃了,现在推荐用 mysqli,当然你也可以用 PDO。)
首先我们指明数据库的一些信息:
1
2
3
4
|
$db_server = "localhost" ; $db_user = "db_user" ; $db_pass = "password" ; $db_name = "segmentfault" ; |
连接到数据库,并且确保连接正常:
1
2
3
4
5
|
$conn = new mysqli( $db_server , $db_user , $db_pass , $db_name ); if (mysqli_connect_errno()) { trigger_error( "Database connection failed: " . mysqli_connect_error(), E_USER_ERROR); } |
使用SQL语句创建表
复制代码 代码如下:
$sql = "CREATE TABLE user(username CHAR(140), password CHAR(140))";
添加记录
复制代码 代码如下:
mysqli_query($conn, "INSERT INTO user (username, password) VALUES ($username, $md5sum)");
手写SQL不太爽,实际应用中,框架会为你提供各种方便。
关闭数据库:
1
2
3
4
5
6
7
|
mysqli_close( $conn ); ?> </p> </body> </html> |
好了,我们已经成功地写好了一个小应用,也顺带学习了如何访问 MySQL 数据库。今天就到这里了。