一、前言
我从09年开始结识UBUNTU,一路上磕磕绊绊走到了现在。恰逢UBUNTUKYLIN新版本与网站的推出,觉得自己应该写一些什么,于是就结合自己为单位开发小型数据库的经验简单记录一下开发过程,并对自己的工作做一个回顾。
一、前言
我从09年开始结识UBUNTU,一路上磕磕绊绊走到了现在。恰逢UBUNTUKYLIN新版本与网站的推出,觉得自己应该写一些什么,于是就结合自己为单位开发小型数据库的经验简单记录一下开发过程,并对自己的工作做一个回顾。
二、设计初衷
我在2013年3月份用DELPHI 7写了一个小软件,用来记录单位实验室接收样品、登记实验数据与自动生成报告,并且提供简单的查询与统计功能;后台数据库用的是MS-SQL SERVER2005。简单来说,就是一个C/S架构的小型数据管理软件。
软件写得还行,试运行一段时间也没出啥大的问题。这个时候,我就想我能不能把它移植到开源环境下,让喜欢该软件的人能够不受限制地获取并使用它呢?
最后,我决定将该软件的主要功能移植到LAMP环境下,通过浏览器来访问并操作数据库。
在作出这个决定前,我对HTML和PHP一无所知,我能依靠的只有一本在书店购买的教材以及互联网。但是我觉得我能行,于是我就靠着前两者开始了我的开源环境开发之路。
三、我的开发环境
我的开发用机是联想Y460,当年卖的很火的一款14寸笔记本产品;操作系统安装的是UBUNTU10.04桌面版 + win2003 服务器版。编写html文件与PHP脚本用的是bluefish,该软件可以在"UBUNTU 软件中心"检索并在线安装;测试用浏览器是firefox,这是UBUNTU的标配浏览器了,当然后期我还会加入chrome来做测试工作。
回7楼的同学,UBUNTU13.04 以及UBUNTUKYLIN13.04我都有安装体验过,感觉13.04这个发行版的某些优化工作还是没有做好,再加上10.04这个版本我已经很熟悉了,所以本次开发环境还是先用着10.04。
四、安装LAMP环境(桌面环境下操作)
在UBUNTU 10.04桌面版环境下,你可以打开“新立得软件包管理器”,点击“编辑”按钮,在下拉菜单选择“使用任务分组标记软件包”,然后在弹出窗口勾选“LAMP SERVER”进行安装。
如下图:
四、安装LAMP环境 (命令行方式)
你也可以用命令行进行安装,分别执行以下两条语句即可:
sudo apt-get install tasksel
sudo tasksel install lamp-server
在安装MYSQL的过程中会碰到要求输入密码的情况,此处输入的密码是MYSQL数据库密码,与UBUNTU登录密码是不一样的。
四、安装LAMP环境(验证安装是否成功)
打开浏览器,在地址栏输入“127.0.0.1”或者“localhost”,如果浏览器显示“It works!”则说明LAMP环境已经安装完毕了。
LZ可以安装ubuntukylin13.04啦。。。。
五、设置文件读写权限
LAMP环境安装好之后,PHP网络服务器根目录默认设置是在:/var/www。
由于Linux系统的安全性原则,该目录下的文件读写权限是只允许root用户操作的,所以我们不能在www文件夹中新建php文件,也不能修改和删除。
为了解决/var/www目录的权限问题,我们得执行以下命令:
sudo chmod 777 /var/www
上面的命令授予所有用户读、写、执行/var/www目录下文件的权限。
六、安装PHPMYADMIN
因为待开发系统有很多数据库操作工作,而终端环境下编写MYSQL语句非常不方便,所以我们需要安装PHPMYADMIN,用于在桌面WEB环境下操作MYSQL数据库。
直接运行以下命令:
sudo apt-get install phpmyadmin
在安装过程中会要求选择Web server:apache2或lighttpd,选择apache2,按tab键然后确定。
接着会要求输入设置的Mysql数据库密码连接密码 Password of the database’s administrative user ,此处的密码即是“四、安装LAMP环境 (命令行方式)”章节中提到的、要求输入的密码。
安装完毕后还需要把PHPMYADMIN与APACHE2建立连接。
按照我配置的运行环境:www目录在/var/www,phpmyadmin在/usr/share /phpmyadmin目录;
那么我需要执行以下命令:
sudo ln -s /usr/share/phpmyadmin /var/www
最后,打开浏览器,在地址栏输入"localhost/phpmyadmin",如下图:
登录后的界面如下:
安装好PHPMYADMIN以后,我们就可以通过浏览器远程管理MYSQL数据库了。
七、配置APACHE服务
输入以下命令,启用mod_rewrite模块:
sudo a2enmod rewrite
重启APACHE服务:
sudo /etc/init.d/apache2 restart
八、使用BLUEFISH新建一个PHP文件 (1)
启动BLUEFISH (在10.04版本下,该程序快捷方式默认是在“应用程序”>>“编程”下面),具体界面如下:
八、使用BLUEFISH新建一个PHP文件 (2)
在左侧的地址栏输入WWW根目录地址“/var/www/”进入该目录,并在该目录下新建一个名为“test.php”的脚本文件,文件内容如下:
<?php phpinfo(); ?>备注:该PHP源码文件已经压缩后作为附件上传,各位同学可以自行下载解压后使用;编辑PHP文件的时候最好不要使用windows自带的notepad,可以考虑使用notepad2或者ultraedit等支持语法高亮的编辑软件。
在这三行代码中,第一行的 “<?php" 表示这是脚本文件的开始;最后一行的 "?>” 表示这是脚本文件的结束;
中间一行 “phpinfo();” 调用了PHP函数,用来返回PHP服务器相关信息;
打开浏览器,在地址栏输入"localhost/temp.php"测试运行,运行情况如下:
temp.zip (171 Bytes)
八、使用BLUEFISH新建一个PHP文件 (3)
上面的例子代码比较简单,现在我们建立一个稍微复杂一些的PHP文件,内容如下:
<?php $link = mysql_connect("localhost","root","mysqlpassword"); if (!$link) { die('Could not connect: ' . mysql_error()); } else echo "Mysql已经正确配置"; mysql_close($link); ?>简单解释:
第二行代码创建了一个“$link”变量,用于连接MYSQL数据库;各位同学测试的时候,请把“mysqlpassword”替换成自己的MYSQL数据库密码;
第三行至第六行代码内容用于判断数据库连接不成功的情况下输出错误提示;
第七行代码内容用于判断数据库连接成功的情况下输出成功连接提示;
第八行代码内容用于关闭数据库连接;
备注:该PHP源码文件已经压缩后作为附件上传,各位同学可以自行下载解压后使用;
打开浏览器,在地址栏输入"localhost/temp2.php"测试运行,运行情况如下:
temp2.zip (323 Bytes)
九、解决浏览器乱码问题
有的同学在测试上一节例子的过程中会碰到中文内容输出乱码的问题,这是默认预言配置问题,解决方法如下:
编辑"/etc/apache2/apache2.conf"配置文件,在文件尾部添加以下内容:
AddDefaultCharset UTF-8
重启Apache:
sudo /etc/init.d/apache2 restart
刷新浏览器, 中文乱码应该就显示正常了;如果还不能正常显示的话,考虑将UTF-8修改为gb2312试试看。
十、LAMP环境下常用的命令
重启 apache:sudo /etc/init.d/apache2 restart 或者 sudo service apache2 restart (12.04版本开始支持,下同)
重启mysql:sudo /etc/init.d/mysql restart
配置 php.ini:sudo gedit /etc/php5/apache2/php.ini
配置 apache2.conf:sudo gedit /etc/apache2/apache2.conf
请注意,上面的gedit是UBUNTU桌面版内置的桌面编辑软件,如果大家使用的是server版或其他没有集成gedit的发行版,请自行改为 nano 或者 vi 。
阶段总结:
在这前十个小节中,我们配置好了LAMP服务并且简单编写了两个PHP文件进行测试,这只能算正餐前的开胃菜。
在接下来的内容里面,我们将一步一步地建设数据库管理系统,敬请期待。
十一、创建网站首页文件
打开BLUEFISH,在/var/www/建立一个login.html文件,内容如下:
登录界面请输入用户名:
请输入密码:
备注:该PHP源码文件已经压缩后作为附件上传,各位同学可以自行下载解压后使用;
简单解释:
这是一个HTML文件,它以开头,以结束;与之间是文档主体部分;
与之间是文档头内容,用于定义浏览器标题栏内容;更详细的内容,可以参考 www.w3school.com.cn ,我在学习过程中受益良多,特在此向W3S工作人员表示敬意。
打开浏览器,在地址栏输入“localhost/login.html”,如下图:
login.zip (529 Bytes)
十二、创建网站登录文件
登录页面制作好以后,我们来编写登录脚本。打开BLUEFISH,在/var/www/建立一个login.php文件,内容如下:
<?php // 获取网页表单输入的用户名 $username=trim($_POST['username']); // 获取网页表单输入的密码 $userpwd=trim($_POST['userpwd']); if (($username=="123") && ($userpwd=="123")) { echo "你输入了正确的用户名与密码"; } ?>备注:该PHP源码文件已经压缩后作为附件上传,各位同学可以自行下载解压后使用;
简单解释:
这是一个PHP文件,它以 “<?php" 开头,以 "?>” 结束;
第二行代码 “$username=trim($_POST[‘username’]);” 定义了一个名为"$username"的变量,用来保存从login.html获取到的用户名信息;
第三行代码 “$userpwd=trim($_POST[‘userpwd’]);” 定义了一个名为"$userpwd"的变量,用来保存从login.html获取到的密码信息;
在这里请注意:为了正确获取到login.html传递过来的数据,上面两行代码里面的 ‘username’ 与’userpwd’ 必须与login.html里面的输入栏的"name"属性保持一致。
还记得login.html里面关于输入栏的代码么?
代码第四行至第七行内容:当login.html输入的用户名与密码都是123的时候,输出"你输入了正确的用户名与密码" 。
十二、创建网站用户信息表 (1)
看到这里,你也许会大怒:这是什么破代码?劳资只能用123登录这个破页面?
嗯嗯,没错,上面的代码虽然正确但是毫无意义。我们应该创建一个数据表,用于存储用户信息;创建一个主页面,用于用户登录成功后访问。
当用户在 login.html 输入登录信息后,你的代码应当访问数据表,校验登录信息是否有效;如果数据表内确实存在该用户信息,则将登录用户引导至主页面。
看来我们应当先建立一个用户表。
打开浏览器,在地址栏输入 “localhost/phpmyadmin” ,登录页面进行数据库管理;
切换至“数据库”标签,在“新建数据库”输入栏内输入 “test” ,并点击右侧“创建”按钮,创建一个名为"test"的数据库,如下图:
接下来我们在"test"数据库内建立一个名为"user_table"的数据表。点击进入"test"数据库,创建一个名为"user_table"的数据表,字段数为"3",如下图:
记得点击右侧的“执行”按钮。
在新窗口输入字段相关属性后,点击右下方的“保存”按钮,如下图:
至此,用户表结构就建立起来了。
好帖,LZ加油。
在数据库建表、通过php数据库访问接口获取和更新表格信息、在页面上展现,等LZ慢慢道来。。。