写第一个PHP项目——《博客系统模型》,心得与体会
来源:互联网 发布:电子报刊手机制作软件 编辑:程序博客网 时间:2024/06/14 09:23
1.
PHP代码的模块分类:
Html画图本身
————————POST或GET接口,接受用户操作
————————————————————————数据库查询Sql语句书写
————————————————————————————————————Query语句返回的数据处理
——————————————————————————————————————————————————打印出echo语句,完成动态绘图
2.
"select * from blog WHERE title like %$key% ORDER BY id DEC limit 5"
这种写法中
%% 两个百分号,夹着的意思
的意思。
3.
index.php页。
应该设置的 action ——————>为 "index.php"
4.
"select * from blog WHERE title like %$key% ORDER BY id DEC limit 5"
中的 DEC写错了。
应该是
ORDER BY id DESC
DEC ————>错误
DESC————>正确 (逆序的意思)
5.
$w = "title like %$key% ";
$w = "title like '%$key%' ";
两种写法,本质上都可以。
具体要弄清楚,就去看 单引号、双引号在PHP中的区别。
"select * from blog WHERE title like %$key% ORDER BY id DEC limit 5"5.
再谈PHP单引号和双引号区别
http://www.cnblogs.com/llsun/archive/2012/07/16/2593027.html
6.
iconv_substr($rs['contents'], 0, 30, "UTF-8")
iconv_substr( ... , ... , ... , ... )
方法的作用:??
第1个参数
原字符串
第2个参数
起始截取位置
第3个参数
末尾截取位置
左闭右开区间。
第4个参数
文字的编码排版集
iconv_substr( )
的提示
str : string ,
offset : int ,
[ length : int | string = ' iconv_strlen ( $str , $charset ) ' ] ,
[ charset : string = ' ini_get ( " iconv.internal_encoding " ) ' ]
这样的参数提示。
[ ] 方括号,应该是 表示里面的东西是一块的, 是打包的
int | string , 表示类型待定, 会是 整数型 和 字符串型 中的一款。
charset : string = ' 方法名得到 字符集类型 ' , 表示的是 如果没有传进值, 则默认为后面方法里的取值。 = 等号,表示当不传时的默认取值。
噢啦!!写完10条后回头写这个!
撒花!!
7.
iconv_substr($rs['contents'], 0, 30, "UTF8");
提示错误:
改成下面这样,则一切正常:
iconv_substr($rs['contents'], 0, 30, "UTF-8");
多加了一条横杠:
参见
Wrong charset, conversion from `UTF-8' to `UCS-4LE' is not allowed
https://stackoverflow.com/questions/1602310/zend-framework-and-string-covertation-using-iconvthe iconv library was expecting a string encoded in 'UCS-4LE', but received one that it detected as 'UTF-8'. You probably have a different default encoding on the new server. Try passing the third parameter to the constructor (as 'utf-8'
).
之后,则一切正常。
能够正常显示。
8.
if (!empty($_GET['keys'])) { $key = $_GET['keys']; echo $key ."<br/><br/>"; $w = "title like '%$key%' ";//————————>搜索标题。————————>标题中有 ??????key??????? 这样的字符的项。 (如果单纯 %% 则显示所有不为Null的项。)} else { $w = 1;}
这一方法,会每次调用 index.php 都自动运行。
区别只在于 $_GET['keys'] 这个方法
的值
是否为Empty。
9.
对于
<form action="" method="get" style='align:"right"'>
中
action
写 "index.php"
的结果
和
写"" (空着)
的结果
一模一样的情况的解释:
《 不写action的情况下form提交到的位置》 http://blog.csdn.net/tengdazhang770960436/article/details/6923931
10.
PHP
的$_GET方法
——————————>是接收 一切 “ mehod = "get" ” 的URL传值的 URL 中的值。
——————————————————> form这种表单形式, 其实本质上 也是生成了 www.xyz.com/index.php ? a= 1 & b=2 这样形式的 URL 。
列举形式:
二、$_Get方法
(1)获取通过URL的传值
Example 1
新建两个PHP文件,1.php,2.php
1.php代码:
<a herf="2.php?id='10'&name='xiaoqiang'">传值</a> 在1.php中单击超链接传值
2.php代码:
<?phpecho "$_Get['id']";echo "$_Post['name']";?>
(2)$_Get方法动态传值
<a href="newfile.php?page=<?php echo "java";?>&pageone=<?php echo "1";?>">GET方法动态传值</a>
第二种形式是 :
:::::
$_GET 变量
预定义的 $_GET 变量用于收集来自 method="get" 的表单中的值。
从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。
实例
form.html 文件代码如下:
<html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body><form action="welcome.php" method="get">名字: <input type="text" name="fname">年龄: <input type="text" name="age"><input type="submit" value="提交"></form></body></html>
当用户点击 "Submit" 按钮时,发送到服务器的 URL 如下所示:
http://www.runoob.com/welcome.php?fname=Runoob&age=3
可明显看到:
最后走的都是 URL 的路线————————> 拼接成 URL 。
这就是背后的原理。
11.
$sqlup = "update blog set hits=hits+1 WHERE id = '$rs'";
update 语句的用法
和
set 语句的用法
【足以可见 Sql 语言,也是一门有自己语法的语言】。
12.
设置主键的方式。
以及主键非空
以及主键自增
以及主键独一无二。
尽在 PHPStorm 和 收藏夹。
13.
$sql = "update blog set title= '$title' ,contents= '$contents' WHERE id=$hid ";
和
$sql = "update blog set title= $title ,contents= $contents WHERE id=$hid ";
的区别:
——————————在于
第一行可以正常运行,
第二行不可以正常运行
第一行用 单引号 ' ' 来锁住 $ title 和 $ contents 的值, (参见 收藏夹—— 单引号、双引号的区别)
来不使里面的 【中文字】【空格】【换行】等跑出来。——————进而可以正常按照文本形式,进行数据库 Query操作。
第二行,【中文字】【空格】【换行】会被编码拆分,以及做各种转义处理。
就会报 “测试6” not in filedList
这样的错误。
而第一行正常运行无误。
14.
$sqlup = "update blog set hits=hits+1 WHERE id = '$id'";
mysqli_query($conn, $sqlup);
和
$sql = "select * from blog where id= $id ";
mysqli_query($conn, $sql);
这两句Query的返回值,是不一样的。
容易出错场景:
视为都返回 query_result 。
然后用 $rs 去盛装 query_result 的 fetch_aaray 。
——————————————————————————————>结果导致,类型转换出错。
因为 mysqli_query ( $link , $query )
的
返回结果 为:
boolean | mysqli_result
即,在 ——————> select 命令时,返回的是 mysqli_result
而在 ————————> update 命令时,返回的是 true or false , 用来指示 update更新数据 是否成功
- 写第一个PHP项目——《博客系统模型》,心得与体会
- 第一个php网站的一些心得和体会
- 项目体会与心得
- [29期] 职业生涯第一个项目的总结与体会。
- 第一个项目的心得
- 写的第一个博客
- 刚开始工作第一个项目体会
- 第一个ASP项目的体会
- [29期] 第一个项目体会
- flash五子棋心得——致我写的第一个程序
- 第一个FLEX2项目终于见到希望,终于要结束了,有点时间写一点心得
- 第一个项目——用户管理系统
- 万事开头难,先开个头,写个博客,总结一下做项目的心得和收获
- 完成第一个项目的心得
- 今天开始写第一个博客哦!
- 第一个html写的博客。
- 第一个博客写什么呢
- 小熊写的第一个博客
- Java中使用OpenSSL生成的RSA公私钥进行数据加解密
- 故障排查
- PHP关于数组的四种基础排序
- POJ 2001 Shortest Prefixes(字典树Trie)
- Activity右滑退出控件SlidingLayout
- 写第一个PHP项目——《博客系统模型》,心得与体会
- java和TreeView在HTMl5动态显示树状图
- 学习匹配sad之程序报错
- git中tag与release的创建以及两者的区别
- 使用安卓手机控制树莓派
- Mysql数据库入门一
- Quartz使用
- UiAutomator通过ant实现快速调试
- CS229part3广义线性模型