发新话题
打印

[最适合菜鸟]刚学PHP,做的最粗糙最简单的留言本[全程思考过程]

[最适合菜鸟]刚学PHP,做的最粗糙最简单的留言本[全程思考过程]

呵呵,学习PHP的时间,看我的注册时间吧.
不过,之前有过一点C++的基础,所以语法还是挺容易看懂的.

呵呵,看完的新手们可以接着看   http://www.phpchina.com/bbs/thread-32482-1-1.html
是在这篇帖子的基础上扩展的,我准备以此为基础,不停的完善这个程序,分享学习过程

但是就是看 MYSQL语法啊,对于SQL,我一点概念都没有,后来找了很多资料,才终于知道了基本概念
      就是,数据库->表->字段->行; (呵呵,也许有的人认为很简单,但是这花了我两天的时间才领悟的,本人比较笨,呵呵)
然后,知道了数据库的概念之后,我就想应该可以弄个留言本玩玩了吧.
      但是,由于除了写echo之外,从来没有写过PHP代码,所以,基本上这个粗糙的留言本都是翻资料,在论坛找资料所得

如果是高手的话,就不用看了吧,因为这确实比较简单的,
      如果你还是刚入门,就可以看看,因为我把思路都放在注释里面了.

下面,就看我这个最最简单的留言本吧.呵呵

    首先,是数据库的结构,既然是最粗糙的留言本,就只需要这几个字段:
                  


ID(我看到别人一般都有,也就加了,是自动增长的)
name 就是留言者的名称
content 留言内容
ltime 留言的时间

           其中,name和content是需要留言的人自己写的,其他是自动生成的.
     
现在我把建立表的语句放上来:
复制内容到剪贴板
代码:
create table if not exists my_liuyan  #这里是建立一个表
( lid int not null auto_increment primary key,  #建立一个lid,自动增加,主键
  name varchar(30) not null,    #建立了一个名字
  content blob not null,          #建立了内容字段,类型为 blob ,是查资料的,虽然对blob还不了解
  ltime varchar(30) not null      #建立了存贮发言时间的字段,本来类型是定义成 datetime 的,但是我要存贮的是07年8月4日04:05:36
                                           #这种形式的,所以就把 datatime 改成了 varchar(30) 了
);
一开始写这个SQL语句的时候,都犯了很多错误,比如 create ,我就写成了 creat ,呵呵,毕竟一开始写,我知道这是一个过程.
然后把上面这段放在 phpmyadmin 里面运行,就建立这个表(当然,在此之前弄错了好多);

    然后,我就开始写全局变量的文件:

首先,是config.inc 这个配置文件代码:
复制内容到剪贴板
代码:
<?php
//全局变量
$DBHOST = 'localhost';   //数据库服务器地址,我是在本地的
$DBUSER = 'root';         //数据库用户
$DBPWD = ' ';    //数据库密码,我这里就不写了,呵呵
$DBNAME = 'myliuyan';   //这是我在phpmyadmin里面建立的一个数据库,里面来放我刚刚建立的一个表

?>
然后,就是开始写 index.htm 这个静态页面了.也贴出代码:(这里我只把 body这个标签里面的代码贴出来)
复制内容到剪贴板
代码:
<body>
<form action="jieshou.php" method="POST"> <!--这里表示接受这个表单数据的文件地址:jieshou.php,方法是post--!>
        姓名:<input type="text" name="user_name"/>
<!--定义接受姓名的变量为user_name--!>
        信息内容:

        <textarea name="user_content" cols="40" rows="8"></textarea>  <!--定义接受内容的变量为user_content--!>
        

        <input type="submit" name="btn_ok" value="提交"/>  <!--定义一个提交按钮,这里我定义了一个变量,但是后面没有用,因为我看资料,有的资料定义了这个变量,我想是以后有用的吧--!>
</form>
</body>
呵呵,是不是很简陋的页面啊,先不管,看看能不能成功再说.

然后,要写 jieshou.php 这个文件了,这个文件的任务就是把留言的信息提交到数据库中去,贴代码:
复制内容到剪贴板
代码:
<?php
//使用接受一下参数,看看对不对(这是一开始还没有链接数据库的时候,我做的测试)
$user_name = $_POST['user_name'];                         //得到用户名
//echo $user_name; //这是刚开始我做的看能不能得到在index.htm中的数据写的语句
$user_content = $_POST['user_content'];                //得到留言内容
                 /////////////////////////////////////////////
                //这里,我要说一下上面两个语句,也就是我得到index.htm中的语句
               //之前,资料中是用 $HTTP_GET_VARS得到数据的
              // 然而,我看到很多人用 $_POST,所以,在论坛找到了资料
             //一个是PHP4.3之前的用法,一个是4.3之后的版本
            ///////////////////////////////////////////////////////////////////////////

$creat_time = date(y.'年'.m.'月'.d.'日'.h.':'.i.':'.s); //得到提交留言日期
          ////////// 同时,上面这个函数 datedate(y.'年'.m.'月'.d.'日'.h.':'.i.':'.s) 也是查资料的,得到的是 07年08月04日12:03:36这样的形式.

//链接数据库
include_once('config.inc');                                                           //引入数据库参数 ,把刚刚那个文件的变量引入进来了.

$con = mysql_connect($DBHOST,$DBUSER,$DBPWD);                   //这个函数是链接到数据库的函数

               //if($content) echo '数据库链接成功';                           //这个也是测试数据库链接的情况

mysql_select_db($DBNAME,$con);                                              //这个是选择数据库,前几次因为忘了选择数据库,所以总是插入失败
        
              //if($close) echo '数据库关闭成功';                                //同样,这个也是测试数据库的关闭成功情况,后来也是忘了把这句注释                        

                                                                                             //掉,弄得插入失败

$query = "INSERT INTO my_liuyan (name,content,ltime)";
$query.= "VALUES('$user_name','$user_content','$creat_time')";    //这两行是数据库查询语句,不过还没有实行,

echo $query;                                                                            //输出查询语句,看看有没有语法错误

$reslt = mysql_query($query);                                                    //这个函数是查询函数,这一句才是插入数据的命令
        if($reslt) echo '数据库插入成功';                                          //看看数据插入成功否

$close = mysql_close($con);                                                        //关闭数据库
?>
然后,测试后,成功的写入信息到数据库了,但是,我在phpmyadmin中看BLOB数据的时候,看不到,请问怎么看BLOB数据?

然后,就是查看留言内容的页面了,其实就是一个查询数据库的页面,代码贴上:
复制内容到剪贴板
代码:
<?php
//////////////////测试查询数据库
include_once('config.inc');   //引入文件
$con = mysql_connect($DBHOST,$DBUSER,$DBPWD);        //链接数据库

mysql_select_db($DBNAME,$con);                        //选择数据库

$query = "select * from my_liuyan";                 //设置查询的语句

$reslt = mysql_query($query);                     //实施查询命令
//if($query) echo '查询成功
';//测试查询成功否            

while ($row = mysql_fetch_row($reslt))        //把结果返回到 $row 数组中
         {
                echo 'ID: '.$row[0].'
';
                echo 'name:  '.$row[1].'
  ';
                echo 'content:  '.$row[2].'
';
                echo 'time:  '.$row[3].'
';
                echo '<hr/>';
        }                                                  //这段while语句就 把查询到的语句输出出来

mysql_close($con);        //关闭数据库

?>
好了,这就是昨天晚上花了3个小时做出来的,

其中,自己范了很多错误,是学到在看书时没有意识到的错误.

虽然程序很简陋,也没有设计到分页查询,但是,这毕竟是自己的第一个有功能的程序了

呵呵,所以就厚着脸皮发出来,

然后自己再把程序不断完善,在这个过程学到更多的知识和技巧.

对于高手来说,这个应该是最基本的代码了,所以,如果大家有什么建议的话,也可以说出来,

帮助我们这些菜鸟成长吧.

顺便问一下:加入字段(也就是列),应该用什么语句?

TOP

乳化机无重力混合机

辛苦了
楼主辛苦了,娱乐一下吧.
月儿光光照四方
破产老总他姓江
借问破产因何故
又喝酒来又嫖娼






















公司专业生产乳化机,汽水混合机,淋浴洗眼器,混合器,过滤器,乳化机,消声器,阻火器,视镜,采样器,冷却器,涂料设备 干混砂浆设备 无重力混合机高剪切乳化机,油水分离器,丝网除沫器,星形给料机.  

TOP

nail equipment

新手报道请大家多多包含!!呵呵   希望;论坛越办越好!!!!!





















nail equipment nail products nail product nail uv lamp nail uv lamp
[url=http:/www.toptry.com.cn]天龙八部私服[/url]

TOP

发新话题