内容简介 · · · · · ·
《学习PHP和MySQL》内容全面,既解释了各种基础概念,又讨论了实现各种特定功能的具体细节,并附有示例应用来演示如何综合使用这些技术构建高效快速的Web站点。如果你有Web或图形设计的背景,且对HTML有一定了解,那么《学习PHP和MySQL》就正是你学习创建动态Web页面所需要的读物。
《学习PHP和MySQL》主要内容:
PHP基础,包括数据类型、程序流程控制、变量、函数、数组和表单。
在各种环境下安装PHP和IMySQL的步骤。
MySQL基础,比如表和SQL语句。
使用SQL操作数据库的简单介绍。
新增一章,介绍如何在PHlP中和网站上使用XHTML。
安全和访问控制,介绍常见的安全问题。
错误处理、HTTP身份认证和其他更多内容。
作者简介 · · · · · ·
Michele E.Davis从1988年起,她就拥有一个技术写作和软件培训的公司。她编著并与人合著了超过11本书。
目录 · · · · · ·
第1章 动态内容和web
http和互联网
php和mysql在web开发中的位置
一个php应用程序的组件
整合多种信息源
请求一个网页数据
第1章练习题
第2章 安装
本地部署
远程工作
第2章问题
第3章 php初探
php和html文本
编程组件
第3章问题
第4章 php的条件判断
表达式
运算符的概念
条件语句
.循环
第4章问题
第5章 函数
调用函数
定义函数
面向对象编程
第5章问题
第6章 数组
数组入门
第6章问题
第7章 使用mysql
mysql数据库
管理数据库
使用phpmyadmin
数据库概念
结构化查询语言
第7章问题
第8章 数据库实践
数据库设计
备份和恢复数据
高级sql
第8章问题
第9章 通过php访问mysql
步骤
使用php函数查询数据库
使用pear
第9章问题
第10章 使用表单
创建表单
模板template
第10章问题
第11章 php实践
字符串函数
日期和时间函数..
文件操作
调用系统调用
第11章问题
第12章 xhtml
为什么要使用xhtml
xhtml和xml命名空间
xhtml版本
使用php生成xhtml
第12章问题
第13章 修改mysql对象和php数据
通过php改变数据库对象
操作表数据
使用嵌入链接显示结果
在一个文件里显示增加表单和处理表单
更新数据
删除数据
执行子查询
第13章问题
第14章 cookie、会话和访问控制
cookie
php和http身份认证
会话
使用auth_http进行验证
第14章问题
第15章 安全
限制对管理页面的访问
会话安全
第15章问题
第16章 验证和错误处理
使用javascript验证用户输入
模式匹配
php验证失败后重新显示表单
第16章问题
第17章 一个完整的应用程序
配置文件
页面框架
数据库
显示文章概要
显示文章和它的评论
增加和修改文章
增加和修改评论
第17章问题
第18章 结束语
php编程规范
pear
框架
ajax
wiki
在互联网上寻求帮助
第18章问题
附录 各章问题答案
· · · · · · (收起)
喜欢读"学习PHP和MySQL"的人也喜欢的电子书 · · · · · ·
喜欢读"学习PHP和MySQL"的人也喜欢 · · · · · ·
学习PHP和MySQL的话题 · · · · · · ( 全部 条 )



学习PHP和MySQL的书评 · · · · · · ( 全部 1 条 )
> 更多书评1篇
读书笔记 · · · · · ·
我来写笔记-
kino (看见天上的飞鸟,便会想去旅行吧)
为什么一定要加htmlentities?——刚弄明白原来是为了防止代码注入什么的。 注意:php会检查双引号里面的变量和转义符,但对单引号里面不检查。于是从效率考虑,如果有变量或转义符要处理就用双引号,如果没变量就用单引号。 /代码内容已省略/ 书里给的例子是上面这样吧,但是并没有说为什么这样写,为什么一定要加htmlentities? 经测试,把htmlentities去掉了,这样写也是可以的:... (9回应)2012-08-10 19:55
为什么一定要加htmlentities?——刚弄明白原来是为了防止代码注入什么的。注意:php会检查双引号里面的变量和转义符,但对单引号里面不检查。于是从效率考虑,如果有变量或转义符要处理就用双引号,如果没变量就用单引号。<?php $self = htmlentities($_SERVER["PHP_SELF"]); $search = htmlentities($_GET["search"]); if ($search === '' ){ echo (' <form action="'.$self.'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is: $search ";} ?>
书里给的例子是上面这样吧,但是并没有说为什么这样写,为什么一定要加htmlentities?经测试,把htmlentities去掉了,这样写也是可以的:(注意判断非空时的“===”要改成“==”)<?php $self = $_SERVER["PHP_SELF"]; $search = $_GET["search"]; if ($search == '' ){ echo (' <form action="'.$self.'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is: $search ";} ?>
甚至这样写也是可以的(压根不设变量,直接用)<?php if ($_GET["search"] == '' ){ echo (' <form action="'. $_SERVER["PHP_SELF"] .'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is:". $_GET["search"];} ?>
吐槽:那个不停地弹出来的Notice也很讨厌啊,书里压根不提,反复检查也没发现自己哪里跟书上写得不一样了>_< 报警告的问题要去php.ini里面把error_reporting 改成= E_ALL & ~E_NOTICE就好了…… 这世界顿时清净了~~又:这里因为本页面要把自己获取的数据传给自己,一开始又要判断非空,所以这个衔尾蛇的参数提前出现的警报问题压根不能解决的吧?网上搜到了一个答案:就是书上这个代码有问题<html> <head> <title>Building a Form</title> </head> <body> <?php if (isset($_GET['search'])) $search = htmlentities($_GET["search"]); else $search=''; $self = htmlentities($_SERVER['PHP_SELF']); if ($search === '' ){ echo (' <form action="'.$self.'" method="GET"> <label>Search: <input type="text" name="search" /></label> <input type="submit" value="Go!" /> </form>'); } else { echo "The search string is: <strong>$search</strong>"; } ?> </body> </html>
9回应 2012-08-10 19:55
-
kino (看见天上的飞鸟,便会想去旅行吧)
为什么一定要加htmlentities?——刚弄明白原来是为了防止代码注入什么的。 注意:php会检查双引号里面的变量和转义符,但对单引号里面不检查。于是从效率考虑,如果有变量或转义符要处理就用双引号,如果没变量就用单引号。 /代码内容已省略/ 书里给的例子是上面这样吧,但是并没有说为什么这样写,为什么一定要加htmlentities? 经测试,把htmlentities去掉了,这样写也是可以的:... (9回应)2012-08-10 19:55
为什么一定要加htmlentities?——刚弄明白原来是为了防止代码注入什么的。注意:php会检查双引号里面的变量和转义符,但对单引号里面不检查。于是从效率考虑,如果有变量或转义符要处理就用双引号,如果没变量就用单引号。<?php $self = htmlentities($_SERVER["PHP_SELF"]); $search = htmlentities($_GET["search"]); if ($search === '' ){ echo (' <form action="'.$self.'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is: $search ";} ?>
书里给的例子是上面这样吧,但是并没有说为什么这样写,为什么一定要加htmlentities?经测试,把htmlentities去掉了,这样写也是可以的:(注意判断非空时的“===”要改成“==”)<?php $self = $_SERVER["PHP_SELF"]; $search = $_GET["search"]; if ($search == '' ){ echo (' <form action="'.$self.'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is: $search ";} ?>
甚至这样写也是可以的(压根不设变量,直接用)<?php if ($_GET["search"] == '' ){ echo (' <form action="'. $_SERVER["PHP_SELF"] .'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is:". $_GET["search"];} ?>
吐槽:那个不停地弹出来的Notice也很讨厌啊,书里压根不提,反复检查也没发现自己哪里跟书上写得不一样了>_< 报警告的问题要去php.ini里面把error_reporting 改成= E_ALL & ~E_NOTICE就好了…… 这世界顿时清净了~~又:这里因为本页面要把自己获取的数据传给自己,一开始又要判断非空,所以这个衔尾蛇的参数提前出现的警报问题压根不能解决的吧?网上搜到了一个答案:就是书上这个代码有问题<html> <head> <title>Building a Form</title> </head> <body> <?php if (isset($_GET['search'])) $search = htmlentities($_GET["search"]); else $search=''; $self = htmlentities($_SERVER['PHP_SELF']); if ($search === '' ){ echo (' <form action="'.$self.'" method="GET"> <label>Search: <input type="text" name="search" /></label> <input type="submit" value="Go!" /> </form>'); } else { echo "The search string is: <strong>$search</strong>"; } ?> </body> </html>
9回应 2012-08-10 19:55
-
kino (看见天上的飞鸟,便会想去旅行吧)
为什么一定要加htmlentities?——刚弄明白原来是为了防止代码注入什么的。 注意:php会检查双引号里面的变量和转义符,但对单引号里面不检查。于是从效率考虑,如果有变量或转义符要处理就用双引号,如果没变量就用单引号。 /代码内容已省略/ 书里给的例子是上面这样吧,但是并没有说为什么这样写,为什么一定要加htmlentities? 经测试,把htmlentities去掉了,这样写也是可以的:... (9回应)2012-08-10 19:55
为什么一定要加htmlentities?——刚弄明白原来是为了防止代码注入什么的。注意:php会检查双引号里面的变量和转义符,但对单引号里面不检查。于是从效率考虑,如果有变量或转义符要处理就用双引号,如果没变量就用单引号。<?php $self = htmlentities($_SERVER["PHP_SELF"]); $search = htmlentities($_GET["search"]); if ($search === '' ){ echo (' <form action="'.$self.'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is: $search ";} ?>
书里给的例子是上面这样吧,但是并没有说为什么这样写,为什么一定要加htmlentities?经测试,把htmlentities去掉了,这样写也是可以的:(注意判断非空时的“===”要改成“==”)<?php $self = $_SERVER["PHP_SELF"]; $search = $_GET["search"]; if ($search == '' ){ echo (' <form action="'.$self.'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is: $search ";} ?>
甚至这样写也是可以的(压根不设变量,直接用)<?php if ($_GET["search"] == '' ){ echo (' <form action="'. $_SERVER["PHP_SELF"] .'" method="GET"> <label>search: <input type="text" name="search" /> </label> <input type ="submit" value="touch me!" /> </form>'); } else {echo "The search string is:". $_GET["search"];} ?>
吐槽:那个不停地弹出来的Notice也很讨厌啊,书里压根不提,反复检查也没发现自己哪里跟书上写得不一样了>_< 报警告的问题要去php.ini里面把error_reporting 改成= E_ALL & ~E_NOTICE就好了…… 这世界顿时清净了~~又:这里因为本页面要把自己获取的数据传给自己,一开始又要判断非空,所以这个衔尾蛇的参数提前出现的警报问题压根不能解决的吧?网上搜到了一个答案:就是书上这个代码有问题<html> <head> <title>Building a Form</title> </head> <body> <?php if (isset($_GET['search'])) $search = htmlentities($_GET["search"]); else $search=''; $self = htmlentities($_SERVER['PHP_SELF']); if ($search === '' ){ echo (' <form action="'.$self.'" method="GET"> <label>Search: <input type="text" name="search" /></label> <input type="submit" value="Go!" /> </form>'); } else { echo "The search string is: <strong>$search</strong>"; } ?> </body> </html>
9回应 2012-08-10 19:55
0 有用 viking 2009-04-15
不错
0 有用 Lester 2016-10-03
比较适合初学者入门的书
0 有用 實習生 2012-10-08
效率型了解 毕竟时间没那麽多
0 有用 marcher 2009-04-28
内容还好,错误偏多。 如果在看中文版,建议同时参考英文版的勘误:http://oreilly.com/catalog/9780596514013/errata/9780596514013.confirmed
0 有用 nels 2018-05-29
个人感觉还是讲的挺基础的,比较容易理解,即使是我这种从来没接触过MySQL和php的人觉得内容也不是很难,并且后面直接有实战,说的也挺详细的,不错,不过就是基础中的基础。
0 有用 nels 2018-05-29
个人感觉还是讲的挺基础的,比较容易理解,即使是我这种从来没接触过MySQL和php的人觉得内容也不是很难,并且后面直接有实战,说的也挺详细的,不错,不过就是基础中的基础。
0 有用 holys 2013-07-06
php真的有这么简单吗? 两个小时读完了
0 有用 實習生 2012-10-08
效率型了解 毕竟时间没那麽多
0 有用 Lester 2016-10-03
比较适合初学者入门的书
0 有用 [已注销] 2011-12-23
入门书、、、