资讯专栏INFORMATION COLUMN

PHP学习 Day 5 练手程序

cgspine / 1682人阅读

摘要:到目前为止,你已经了解了足够多的了。该写个小程序练手了。关闭数据库好了,我们已经成功地写好了一个小应用,也顺带学习了如何访问数据库。

到目前为止,你已经了解了足够多的PHP了。该写个小程序练手了。

用户注册系统

仍然是 @lvye (Green_leaves)出的题:

写一个index.php页面,有用户名和密码表单,post提交到check.php,输出用户名和"用户名+密码"的md5值

本地建立一个mysql数据库,名叫segmentfault,建立一个表user,字段username password将上题check.php接收到的内容存入

我们先完成HTML部分:





注册




注册

注意,HTML5对表单的支持比以往版本的HTML好很多,可以直接指明各种type。比如制定了type="email",会检验用户提交的邮件地址是否合法。

然后是check.php






 注册成功!



哇咔咔,你已经注册成功啦!

呃……不过注册成功了好像也没什么用,因为本网站除了注册以外好像没有其他功能。

那么,作为补偿,我会告诉你,你的“邮箱+密码”的md5值。

你的邮箱是:

下面是PHP部分,直接嵌入HTML,这是PHP的优势:


你的“邮箱+密码”的md5值是:

注意我们用了htmlspecialchars,避免用户填入奇怪的东西。

然后是数据库操作,我们使用mysqli,(mysql已经废弃了,现在推荐用 mysqli,当然你也可以用 PDO。)

首先我们指明数据库的一些信息:

$db_server = "localhost";
$db_user = "db_user";
$db_pass = "password";
$db_name = "segmentfault";

连接到数据库,并且确保连接正常:

$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不太爽,实际应用中,框架会为你提供各种方便。

关闭数据库:

mysqli_close($conn);

?>

好了,我们已经成功地写好了一个小应用,也顺带学习了如何访问 MySQL 数据库。今天就到这里了。


Day 0 - 5 列表

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20632.html

相关文章

  • PHP学习之路 目录

    这个系列就暂时告一段落了。这是一个目录。 Day 0 起步 Day 1 基本语法 Day 2 REPL 和 包管理 Day 3 语言参考 Day 4 语言参考(下半篇) Day 5 练手程序

    liaosilzu2007 评论0 收藏0
  • 4月份前端资源分享

    摘要:更多资源请文章转自月份前端资源分享关于的思考一款有趣的动画效果跨站资源共享之二最流行的编程语言能做什么到底什么是闭包的第三个参数跨域资源共享详解阮一峰前端要给力之语句在中的值周爱民中国第二届视频花絮编码规范前端工程师手册奇舞周刊被忽视的 更多资源请Star:https://github.com/maidishike... 文章转自:https://github.com/jsfron...

    jsdt 评论0 收藏0
  • PHP学习 Day 3 语言参考

    摘要:扫下手册的语言参考。允许的强制转换有。错误控制置于表达式前时,忽略该表达式产生的错误信息。运行外部程序使用反引号,效果等同于函数。文件未找到时,给出错误,而仅仅给出警告。目标位置用目标名称加上冒号标记,必须位于同一文件和作用域。 扫下手册的语言参考。(函数以前) 类型 有boolean、integer、float、string、array等类型。 可以通过gettype函数查看类...

    sean 评论0 收藏0
  • PHP学习 Day 2 REPL 和 包管理

    摘要:包管理试用了,新一代的包管理器,感觉不错。习题答案习题见图书优惠活动,计算需要付的金额。文件读写函数有,表示追加,锁定文件,避免别的进程同时读写。 最新版 Debian Wheezy下的PHP是5.4的,day0时说图方便就装了5.4。但是看文档是5.5的,所以琢磨着还是用最新版算了。 Debian Wheezy有dotdeb.org提供php-5.5。安装很方便。 将下列内容加...

    microelec 评论0 收藏0

发表评论

0条评论

cgspine

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<