十四条令PHP初学者头疼问题大总结
下面提出的14个问题希望对PHP初学者有所帮助。
1、页面之间无法传递变量
get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
2、Win32下apache2用get方法传递中文参数会出错
test.php?a=你好&b=你也好
传递参数是会导致一个内部错误
解决办法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好)
下面提出的14个问题希望对PHP初学者有所帮助。
1、页面之间无法传递变量
get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
2、Win32下apache2用get方法传递中文参数会出错
test.php?a=你好&b=你也好
传递参数是会导致一个内部错误
解决办法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好)
iconv错误解决办法
代码:
iconv('GBK','UTF-8//IGNORE',$STR);错误提示: 复制内容到剪贴板
代码:
Notice: iconv() [function.iconv]: Detected an illegal character in input string in E:/.....大概意思是说:iconv处理的过程中有非法字符.网上也有相同问题出现,最后在php.net发现了解决办法.
iconv('GBK','UTF-8//IGNORE',$STR);
这里多了个“//IGNORE”,这个单词的意思是:不理.
PHP_GET
<?php
if(isset($_GET['query']))
{
echo 'www.laohucheng.com-PHP+MYSQL技术 教程',
htmlspecialchars($_GET['query'],ENT_QUOTES),'<br>';
}
?>
代码:
iconv('GBK','UTF-8//IGNORE',$STR);错误提示: 复制内容到剪贴板
代码:
Notice: iconv() [function.iconv]: Detected an illegal character in input string in E:/.....大概意思是说:iconv处理的过程中有非法字符.网上也有相同问题出现,最后在php.net发现了解决办法.
iconv('GBK','UTF-8//IGNORE',$STR);
这里多了个“//IGNORE”,这个单词的意思是:不理.
PHP_GET
<?php
if(isset($_GET['query']))
{
echo 'www.laohucheng.com-PHP+MYSQL技术 教程',
htmlspecialchars($_GET['query'],ENT_QUOTES),'<br>';
}
?>
mysql 如何将记录从一个表移到另一个表
在mysql中将记录从一个表移动到另一个表中,通常的程序是:首先将记录从源表中复制到目标表中,然后删除源表中的数据。这个过程中要注意的是选择并插入语句和删除语句的条件要完全相符。
INSERT INTO table2 SELECT * FROM table1 WHERE t < CURDATE();
DELETE FROM table1 WHERE t < CURDATE();
以上两条mysql指令中,insert和delete所附加的条件并不是完全一致。比如说明天是30号,我们在29号23点59秒时正巧运行到这个脚本,那么可能的结果是记录并没有通过插入指令进入到table2表中,而在delete指令中则会将记录删除掉。虽然这样的情况有着极大的偶然性,但对于很多安全性要求高的程序来说,便不安全,会造成很多数据没有从table1转移到table2中便被删除了。因此安全的方法是:
SET @date_point = CURDATE();
INSERT INTO table2 SELECT * FROM table1 WHERE t < @date_point;
DELETE FROM table1 WHERE t < @date_point;
这样才能确保insert和delet语句所运用的条件是完全一致的。
在mysql中将记录从一个表移动到另一个表中,通常的程序是:首先将记录从源表中复制到目标表中,然后删除源表中的数据。这个过程中要注意的是选择并插入语句和删除语句的条件要完全相符。
INSERT INTO table2 SELECT * FROM table1 WHERE t < CURDATE();
DELETE FROM table1 WHERE t < CURDATE();
以上两条mysql指令中,insert和delete所附加的条件并不是完全一致。比如说明天是30号,我们在29号23点59秒时正巧运行到这个脚本,那么可能的结果是记录并没有通过插入指令进入到table2表中,而在delete指令中则会将记录删除掉。虽然这样的情况有着极大的偶然性,但对于很多安全性要求高的程序来说,便不安全,会造成很多数据没有从table1转移到table2中便被删除了。因此安全的方法是:
SET @date_point = CURDATE();
INSERT INTO table2 SELECT * FROM table1 WHERE t < @date_point;
DELETE FROM table1 WHERE t < @date_point;
这样才能确保insert和delet语句所运用的条件是完全一致的。
如果你有要补充要的技术网站或书籍请写下简要评述
--------------------------技术网站部分--------------------------
综合技术网站:
www.csdn.net 无需介绍了
www.infoq.com/cn 国外技术咨询网站的中文版,我每天都会看
www.codeproject.com 非常不错的.net英文技术网站,上面的文章多数颇有价值
www.javaeye.com 里面一坨牛人,话题不仅限于java还设计ruby,FP,oo,CS等等
www.jdon.com/ 学习架构设计的好地方,站长的oo功力堪称一流
www.java2000.net/ 老紫竹创办的网站,学java的好地方
--------------------------技术网站部分--------------------------
综合技术网站:
www.csdn.net 无需介绍了
www.infoq.com/cn 国外技术咨询网站的中文版,我每天都会看
www.codeproject.com 非常不错的.net英文技术网站,上面的文章多数颇有价值
www.javaeye.com 里面一坨牛人,话题不仅限于java还设计ruby,FP,oo,CS等等
www.jdon.com/ 学习架构设计的好地方,站长的oo功力堪称一流
www.java2000.net/ 老紫竹创办的网站,学java的好地方
php session使用,实现后台管理
后台当然不能像前台一样,任由用户去浏览和管理,不然,程式没有什么管理性了,一般后台管理都用COOKIE和SESSION两种方法实现,在这里讲解一下用SESSION实现管理的,因为用SESSION相对来说安全性好点
php session使用说明:
由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。
后台当然不能像前台一样,任由用户去浏览和管理,不然,程式没有什么管理性了,一般后台管理都用COOKIE和SESSION两种方法实现,在这里讲解一下用SESSION实现管理的,因为用SESSION相对来说安全性好点
php session使用说明:
由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。
PHP的url传值
在开发程式中传值也算是应用最多的一个技术了
PHP中传值有表单传值(POST),URL传值(GET)。
对于POST传值大家在编程上也没值得注意的地方,对于接收POST的值PHP如:
$temp=$_POST[text];
这样就可以了,上例中,text是指表单的名。而GET传值则:
$temp=$_GET[text];
在开发程式中传值也算是应用最多的一个技术了
PHP中传值有表单传值(POST),URL传值(GET)。
对于POST传值大家在编程上也没值得注意的地方,对于接收POST的值PHP如:
$temp=$_POST[text];
这样就可以了,上例中,text是指表单的名。而GET传值则:
$temp=$_GET[text];
php换行和空格写入数据库
这里要说的是写入数据库时,把换行和空格处理操作
如果不处理一下,直接写入的话,读出的时候也要处理换行和空格的情况,不然文章没有换行,成堆显示,令读者是根本无法阅读.如果想要功能强大点,可以用编译器,但,有时候为了简便,我不用其它功能,只想要换行和空格,使文章变乱
下面说实现PHP空格和PHP换行的处理
这里要说的是写入数据库时,把换行和空格处理操作
如果不处理一下,直接写入的话,读出的时候也要处理换行和空格的情况,不然文章没有换行,成堆显示,令读者是根本无法阅读.如果想要功能强大点,可以用编译器,但,有时候为了简便,我不用其它功能,只想要换行和空格,使文章变乱
下面说实现PHP空格和PHP换行的处理




2009
09:30
553
0


