摘要:到目前为止,你已经了解了足够多的了。该写个小程序练手了。关闭数据库好了,我们已经成功地写好了一个小应用,也顺带学习了如何访问数据库。
到目前为止,你已经了解了足够多的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
这个系列就暂时告一段落了。这是一个目录。 Day 0 起步 Day 1 基本语法 Day 2 REPL 和 包管理 Day 3 语言参考 Day 4 语言参考(下半篇) Day 5 练手程序
摘要:扫下手册的语言参考。允许的强制转换有。错误控制置于表达式前时,忽略该表达式产生的错误信息。运行外部程序使用反引号,效果等同于函数。文件未找到时,给出错误,而仅仅给出警告。目标位置用目标名称加上冒号标记,必须位于同一文件和作用域。 扫下手册的语言参考。(函数以前) 类型 有boolean、integer、float、string、array等类型。 可以通过gettype函数查看类...
摘要:包管理试用了,新一代的包管理器,感觉不错。习题答案习题见图书优惠活动,计算需要付的金额。文件读写函数有,表示追加,锁定文件,避免别的进程同时读写。 最新版 Debian Wheezy下的PHP是5.4的,day0时说图方便就装了5.4。但是看文档是5.5的,所以琢磨着还是用最新版算了。 Debian Wheezy有dotdeb.org提供php-5.5。安装很方便。 将下列内容加...
阅读 685·2021-11-23 09:51
阅读 3277·2019-08-30 15:54
阅读 442·2019-08-30 15:52
阅读 3112·2019-08-30 13:58
阅读 2916·2019-08-30 13:53
阅读 2685·2019-08-29 14:18
阅读 2411·2019-08-27 10:54
阅读 2368·2019-08-26 18:09