PHP5与MySQL5web开发技术详解 相关问题和疑问(持续更新中...)
时间:2007-12-11
来源:互联网
考虑到及时性,我只好在这里另外开个关于本书若干问题的新话题,望杜江老师经常来这里看下,(这可是我学PHP的第一本书啊,我很用心学习)
2007.12.11
疑问:
1.关于P110 strtotime()函数的例子 生成的结果之一 比如:now: 2007-04-13 22:0:54 为什么分钟的地方只是用零表示?难道外国人看表不看分钟?
2. 关于P111 strftime()函数的例子 得出来的结果是 Month: December Day: Monday ,请问哪里体现了所谓的“设置本地化环境为简体中文”? 还有就是今天11号也就应该是星期二,为什么程序显示出来的是“Monday”呢?
3.关于P113 HTTP验证的那个例子,代码我是照书上源代码运行的,本应弹出框那里出现的是“php登录验证”,可是却是“PHP...”(...处为中文乱码),为何会有差别呢?难道是PHP解释器不同导致的错误?(我用的是最新的PHP5.2.5)
错误:
1.关于P115 URL编码的脚本例子 运行的结果是书名:后面的图书名字没有显示... 即使我把($_GET['BoodName']);里面的BoodName改成了BookName也不能如例子中的图示一样显示出书名:后的“PHP5与MySQL5web开发技术详解 ”
2.关于P122 eregi()函数所示的例子,运行后得出的结果为:“Warning: eregi() [function.eregi]: REG_BADBR in C:\Program Files\Apache Software Foundation\Apache2.2\myweb\chapter_03\posix\3.3.5_03.php on line 3
输入错误,密码长度需在8位和10位字符之间”,即使我把字母数量改为9个,也是同样错误(所有的例子都是遵照笔者光盘里的源码运行,没有私下改动)
2007.12.15
1.今天开始看了下杜老师的项目,逐步发现问题:
a.项目中myekang里面没有upload文件夹,因此网站里的相关主题的图片无法显示,相对路径不知道在首页的哪个地方改, 因此图片显示不到(相对路径的变量找了我好久都没找到...)
b.config.inc.php中找本站路径居然用了绝对路径!这样的做法是否不太好?
[ 本帖最后由 canboy365 于 2007-12-15 07:38 编辑 ]
2007.12.11
疑问:
1.关于P110 strtotime()函数的例子 生成的结果之一 比如:now: 2007-04-13 22:0:54 为什么分钟的地方只是用零表示?难道外国人看表不看分钟?
2. 关于P111 strftime()函数的例子 得出来的结果是 Month: December Day: Monday ,请问哪里体现了所谓的“设置本地化环境为简体中文”? 还有就是今天11号也就应该是星期二,为什么程序显示出来的是“Monday”呢?
3.关于P113 HTTP验证的那个例子,代码我是照书上源代码运行的,本应弹出框那里出现的是“php登录验证”,可是却是“PHP...”(...处为中文乱码),为何会有差别呢?难道是PHP解释器不同导致的错误?(我用的是最新的PHP5.2.5)
错误:
1.关于P115 URL编码的脚本例子 运行的结果是书名:后面的图书名字没有显示... 即使我把($_GET['BoodName']);里面的BoodName改成了BookName也不能如例子中的图示一样显示出书名:后的“PHP5与MySQL5web开发技术详解 ”
2.关于P122 eregi()函数所示的例子,运行后得出的结果为:“Warning: eregi() [function.eregi]: REG_BADBR in C:\Program Files\Apache Software Foundation\Apache2.2\myweb\chapter_03\posix\3.3.5_03.php on line 3
输入错误,密码长度需在8位和10位字符之间”,即使我把字母数量改为9个,也是同样错误(所有的例子都是遵照笔者光盘里的源码运行,没有私下改动)
2007.12.15
1.今天开始看了下杜老师的项目,逐步发现问题:
a.项目中myekang里面没有upload文件夹,因此网站里的相关主题的图片无法显示,相对路径不知道在首页的哪个地方改, 因此图片显示不到(相对路径的变量找了我好久都没找到...)
b.config.inc.php中找本站路径居然用了绝对路径!这样的做法是否不太好?
[ 本帖最后由 canboy365 于 2007-12-15 07:38 编辑 ]
作者: canboy365 发布时间: 2007-12-11
问题解答如下:
1.关于P110 strtotime()函数的例子 生成的结果之一 比如:now: 2007-04-13 22:0:54 为什么分钟的地方只是用零表示?难道外国人看表不看分钟?
->请使用下面修改后的样例一试:
-->印刷有误
完整代码如下:
->这个问题在勘误表中存在,下面把全部代码列于下,供参考:
1.关于P115 URL编码的脚本例子 运行的结果是书名:后面的图书名字没有显示... 即使我把($_GET['BoodName']);里面的BoodName改成了BookName也不能如例子中的图示一样显示出书名:后的“PHP5与MySQL5web开发技术详解 ”
->不知道你注意到没有,用到了两个脚本例子,第一个例子链接到第二个脚本即可,以下为第二个脚本的代码:
输入错误,密码长度需在8位和10位字符之间”,即使我把字母数量改为9个,也是同样错误(所有的例子都是遵照笔者光盘里的源码运行,没有私下改动)
->请换用方括号表达式,代码如下:
1.关于P110 strtotime()函数的例子 生成的结果之一 比如:now: 2007-04-13 22:0:54 为什么分钟的地方只是用零表示?难道外国人看表不看分钟?
->请使用下面修改后的样例一试:
复制PHP内容到剪贴板
<?php
//设置默认时区为中国时区
date_default_timezone_set('PRC');
echo "<table>";
$dateArray = array(
"now", "today", "tomorrow", "yesterday",
"Thursday", "this Thursday", "last Thursday",
"+2 hours", "-1 month", "+10 minutes",
"30 seconds", "+2 years -1 month", "next week",
"last month", "last year", "2 weeks ago",
"next Friday"
);
foreach($dateArray as $mydate){
//修改了date函数的参数
echo "<tr><td>$mydate:</td><td>" . date('Y-m-d h:i:s', strtotime($mydate)) . "</td></tr>\n";
}
echo "</table>";
?>
2. 关于P111 strftime()函数的例子 得出来的结果是 Month: December Day: Monday ,请问哪里体现了所谓的“设置本地化环境为简体中文”? 还有就是今天11号也就应该是星期二,为什么程序显示出来的是“Monday”呢?PHP代码:
<?php
//设置默认时区为中国时区
date_default_timezone_set('PRC');
echo "<table>";
$dateArray = array(
"now", "today", "tomorrow", "yesterday",
"Thursday", "this Thursday", "last Thursday",
"+2 hours", "-1 month", "+10 minutes",
"30 seconds", "+2 years -1 month", "next week",
"last month", "last year", "2 weeks ago",
"next Friday"
);
foreach($dateArray as $mydate){
//修改了date函数的参数
echo "<tr><td>$mydate:</td><td>" . date('Y-m-d h:i:s', strtotime($mydate)) . "</td></tr>\n";
}
echo "</table>";
?>
-->印刷有误
完整代码如下:
复制PHP内容到剪贴板
<?php
// 设置本地化环境为简体中文
setlocale(LC_TIME, "chs"); //原文内容为zhs,Unix系统请更改为zh_CN,P205有详细介绍
echo strftime("Month: %B ");
echo strftime("Day: %A ");
?>
执行结果如下:
PHP代码:
<?php
// 设置本地化环境为简体中文
setlocale(LC_TIME, "chs"); //原文内容为zhs,Unix系统请更改为zh_CN,P205有详细介绍
echo strftime("Month: %B ");
echo strftime("Day: %A ");
?>
复制PHP内容到剪贴板
3.关于P113 HTTP验证的那个例子,代码我是照书上源代码运行的,本应弹出框那里出现的是“php登录验证”,可是却是“PHP...”(...处为中文乱码),为何会有差别呢?难道是PHP解释器不同导致的错误?(我用的是最新的PHP5.2.5)PHP代码:
Month: 十二月 Day: 星期二->这个问题在勘误表中存在,下面把全部代码列于下,供参考:
复制PHP内容到剪贴板
<?php
$username = 'username';
$password = 'password';
if (!isset($_SERVER['PHP_AUTH_USER'])) {
Header( "WWW-Authenticate: Basic realm=\"PHP登录验证\"" );
Header( "HTTP/1.0 401 Unauthorized" );
echo "操作被中止 \n";
exit;
} else {
if ( ( $_SERVER['PHP_AUTH_USER'] == $userame ) && ( $_SERVER['PHP_AUTH_PW'] == $password ) ){
print( "您已经登录成功<br/>" );
} else {
print( "登录失败<br/>" );
}
}
?>
错误:PHP代码:
<?php
$username = 'username';
$password = 'password';
if (!isset($_SERVER['PHP_AUTH_USER'])) {
Header( "WWW-Authenticate: Basic realm=\"PHP登录验证\"" );
Header( "HTTP/1.0 401 Unauthorized" );
echo "操作被中止 \n";
exit;
} else {
if ( ( $_SERVER['PHP_AUTH_USER'] == $userame ) && ( $_SERVER['PHP_AUTH_PW'] == $password ) ){
print( "您已经登录成功<br/>" );
} else {
print( "登录失败<br/>" );
}
}
?>
1.关于P115 URL编码的脚本例子 运行的结果是书名:后面的图书名字没有显示... 即使我把($_GET['BoodName']);里面的BoodName改成了BookName也不能如例子中的图示一样显示出书名:后的“PHP5与MySQL5web开发技术详解 ”
->不知道你注意到没有,用到了两个脚本例子,第一个例子链接到第二个脚本即可,以下为第二个脚本的代码:
复制PHP内容到剪贴板
<?php
$AuthorName = urldecode($_GET['author']);
$BookName=urldecode($_GET['BookName']);
echo "书名:{$BookName}<br />";
echo "作者:{$AuthorName}<br />";
?>
2.关于P122 eregi()函数所示的例子,运行后得出的结果为:“Warning: eregi() [function.eregi]: REG_BADBR in C:\Program Files\Apache Software Foundation\Apache2.2\myweb\chapter_03\posix\3.3.5_03.php on line 3PHP代码:
<?php
$AuthorName = urldecode($_GET['author']);
$BookName=urldecode($_GET['BookName']);
echo "书名:{$BookName}<br />";
echo "作者:{$AuthorName}<br />";
?>
输入错误,密码长度需在8位和10位字符之间”,即使我把字母数量改为9个,也是同样错误(所有的例子都是遵照笔者光盘里的源码运行,没有私下改动)
->请换用方括号表达式,代码如下:
复制PHP内容到剪贴板
<?php
$password = "abc";
if(!eregi("^[a-z0-9]{8,10}$",$password)){
print "输入错误,密码长度需在8位和10位字符之间";
}
?> PHP代码:
<?php
$password = "abc";
if(!eregi("^[a-z0-9]{8,10}$",$password)){
print "输入错误,密码长度需在8位和10位字符之间";
}
作者: phpcast 发布时间: 2007-12-11
回复杜江老师的回答:
1.关于P113 HTTP验证的那个例子,按照您说的更正后,仍然未能解决乱码问题。
2.关于P115 URL编码的脚本例子,我留意了那2段脚本,但是似乎是书上和光盘上写错了,我已经做了修改并且调试成功,应该修改的两处代码如下:
原文:
echo "<a href=' urldecode.php?author={$EncodeAuthor}&book={$EncodeBookName}'>推荐PHP新书</a>";
修改为:
echo "<a href=' 2.11.2_05.php?author={$EncodeAuthor}&book={$EncodeBookName}'>推荐PHP新书</a>";
原文:
$BookName=urldecode($_GET['BookName']);
修改为:
$BookName=urldecode($_GET['book']);
1.关于P113 HTTP验证的那个例子,按照您说的更正后,仍然未能解决乱码问题。
2.关于P115 URL编码的脚本例子,我留意了那2段脚本,但是似乎是书上和光盘上写错了,我已经做了修改并且调试成功,应该修改的两处代码如下:
原文:
echo "<a href=' urldecode.php?author={$EncodeAuthor}&book={$EncodeBookName}'>推荐PHP新书</a>";
修改为:
echo "<a href=' 2.11.2_05.php?author={$EncodeAuthor}&book={$EncodeBookName}'>推荐PHP新书</a>";
原文:
$BookName=urldecode($_GET['BookName']);
修改为:
$BookName=urldecode($_GET['book']);
作者: canboy365 发布时间: 2007-12-11
谢谢。也可以这么改,看来您已经通了。

作者: phpcast 发布时间: 2007-12-13
2007.12.15
1.今天开始看了下杜老师的项目,逐步发现问题:
a.项目中myekang里面没有upload文件夹,因此网站里的相关主题的图片无法显示,相对路径不知道在首页的哪个地方改, 因此图片显示不到(相对路径的变量找了我好久都没找到...)
b.config.inc.php中找本站路径居然用了绝对路径!这样的做法是否不太好?
1.今天开始看了下杜老师的项目,逐步发现问题:
a.项目中myekang里面没有upload文件夹,因此网站里的相关主题的图片无法显示,相对路径不知道在首页的哪个地方改, 因此图片显示不到(相对路径的变量找了我好久都没找到...)
b.config.inc.php中找本站路径居然用了绝对路径!这样的做法是否不太好?
作者: canboy365 发布时间: 2007-12-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28