开发留言本时的学习笔记

最近在试着开发留言本,涉及到简单的表单提交以及数据库的连接和读写。

虽然说上去是一件无比简单的事情,但是实际做起来还是遇到了不少问题,下面是相关问题的学习心得:

1、javascript验证表单

javascript验证表单可以做的很基本,很简单,但是也是很实用。下面是代码:

 1 <script type="text/javascript">
2 function checkpost(){
3 if(myform.user.value==""){
4 alert("请输入您的江湖大名");
5 return false;
6 }
7 if(myform.email.value==""){
8 alert("请输入您的邮箱");
9 return false;
10 }
11 if(myform.message.value==""){
12 alert("请输入您的留言内容");
13 return false;
14 }
15 }
16 </script>

在具体的使用过程中可以添加更加复杂的验证条件,但是要注意一个容易出错的地方,那就是在取值的时候,一般的格式是:

表单的name.输入项的name.value

最后一个value最容易不小心忘记,使用的时候一定多加注意。

其次,注意使用两个==,而不是一个,这也是容易出错的地方。

 

2.Notice: Undefined index: submit的解决办法

在提取表单中的submit值时,也许会遇到着要的提示。如何解决这个问题呢?

一个一劳永逸的办法就是修改php的配置文件,在php.ini中,找到error_reporting = E_ALL,把它改为error_reporting = E_ALL & ~E_NOTICE,重启apache即可。

那么,这个错误级别代表什么意思呢?

我们来看一下php.ini文件,里面有对错误级别的说明:

E_ALL             - All errors and warnings (includes E_STRICT as of PHP 6.0.0)

E_NOTICE          - run-time notices (these are warnings which often result
                    from a bug in your code, but it's possible that it was
                    intentional (e.g., using an uninitialized variable and
                    relying on the fact it's automatically initialized to an
                    empty string)

E_ALL & ~E_NOTICE代表的含义就是  (Show all errors, except for notices and coding standards warnings.)

除此之外,还有一种办法,就是在每个php页面头部加上error_reporting(0).

 

3.中文写入数据库变成乱码的解决办法

中文写进数据库之后若变成乱码,一般是由于网页文件的编码与数据库编码不一致导致的。

出现这个问题之后,有一个很好的解决办法,就是在写入数据库的代码之前加上一句

mysql_query("set names 'utf8'");

 我的数据库是utf-8编码的,所以这句代码使用了utf-8。如果你使用的是GBK或者其它,就改成GBK或者其它编码格式。

 

 

 

posted @ 2011-08-28 18:50  ChrisV  阅读(206)  评论(0编辑  收藏  举报