仓酷云

标题: PHP网站制作之先做点功德,转点东东来,用PHP和MySQL... [打印本页]

作者: 仓酷云    时间: 2015-2-4 00:21
标题: PHP网站制作之先做点功德,转点东东来,用PHP和MySQL...
在学习中,我也一直这样要求着自己。mysql|数据|数据库   摘要

  在这篇文章中,咱们会着手处理在构建一个数据库驱动的网站的过程当中将会碰到的成绩。而咱们只会利用两个新的东西,PHP和MySQL。假如你的Web主机撑持PHP/MySQL,那末你会免却很多费事。假如不是如许,你也不必提心,咱们也会进修若何在Unix和Windows下装置响应法式。

  这篇文章是供应给那些有能够学会办事器端法式开辟的中初级的网页设计者的。咱们会以为咱们的读者熟习HTML,所以咱们在利用HTML时不会给出甚么注释。别的,在有些中央咱们能够还会用到大批的JavaScript,然而咱们会尽可能包管这即便关于未入门者也是足够复杂的。

(2002-08-29 14:10:35)

--------------------------------------------------------------------------------
By Wing, 出处:Linuxaid

原著:Kevin Yank 翻译:处处
  关于明天的Web来讲,内容是最主要的。当你纯熟把握了HTML,并且也学到了一些JavaScript和DHTML的小决窍后,你如今或许能够设计一个大度的能让人“一见钟情”的网站了。下一步的任务是向网页中添加一些真实的信息。很多站点不能不经由过程不休地更新来胜利地吸引回头客。在传统的网站建立中,这意味着不休地更新浩瀚的HTML文件。

  如今成绩出来了,在更多的情形下,供应内容给站点的人并非设计网页的人。内容的供应者乃至还不晓得HTML。那末内容的供应者怎样把内容添加到网站中去呢?不是一切的公司都有一个全职的Webmaster的,并且,让一个Webmasters成天忙着将Word文件拷贝到HTML模板中也其实是一种华侈。

  要唯护一个文本驱动的站点其实是件很疾苦的事。很多站点(是否是也包含你的站点?)被过时的信息所困扰。由于要包管信息的正常更新,你将不能不重写数以百计的HTML文件。办事器端包括手艺(SSI:HTML文件中,可以经由过程正文行挪用的号令或指针)或许能略微加重一些费事。然而你仍是得面临数以百计的HTML文件,即便你只是想对你的站点作一些根基的变化。

  处理这些头疼成绩是设计一个数据库的站点。经由过程把你的站点的内容和设置完整分隔,你可以对个中的一项停止处置,而不会对另外一项产生影响。你将不再需求为每条信息写一个HTML页面,你只需求为一类信息写一个HTML页面就足够了。你不再需求不休地添加新的内容到你的页面中去了,你如今所要做的只是创立一个复杂的信息办理体系,经由过程这个体系,作者可以欠亨过HTML就自行添加新的内容。

  在这篇文章中,咱们会着手处理在构建一个数据库驱动的网站的过程当中将会碰到的成绩。而咱们只会利用两个新的东西,PHP和MySQL。假如你的Web主机撑持PHP/MySQL,那末你会免却很多费事。假如不是如许,你也不必提心,咱们也会进修若何在Unix和Windows下装置响应法式。

  这篇文章是供应给那些有能够学会办事器端法式开辟的中初级的网页设计者的。咱们会以为咱们的读者熟习HTML,所以咱们在利用HTML时不会给出甚么注释。别的,在有些中央咱们能够还会用到大批的JavaScript,然而咱们会尽可能包管这即便关于未入门者也是足够复杂的。

  在读完这篇文章后,你应当已体会了若何构建一个数据库驱动的网站,你也应当根基上学会了PHP和SQL。最主要的是,你会学到若何入手下手构建你本人的数据库驱动的网站。

第一章:装置

媒介
  起首,感激你浏览这个教程!鄙人面的几个月里,我会带着你完成从客户端设计的HTML和JavaScript的世界中的超出。今朝文本驱动的网站是如斯的胜利,而咱们在这里所要学的是假如处理保护这个困难。

  在咱们入手下手前,咱们有需要先懂得一下咱们的任务所需求的两个东西。在第一章内,咱们会进修下载并装置咱们将会用到的两个软件包:PHP和MySQL。

  PHP是一个办事器真个剧本言语。你可以将其了解成“插件”,经由过程这个“插件”,你的Web办事器可以在接到阅读器的恳求后不再仅仅收回一个文本的Web页面。装置了PHP后,你的Web办事器可以浏览一种新的类型的文件(PHP剧本),经由过程这类文件,办事器可以在呼应阅读器的恳求之前从数据库中读取及时的信息并将其到场到Web页面中去。PHP是完整收费的,你可以自在地下载和利用。

  要从一个数据库中获得信息,你起首需求具有一个数据库,这时候咱们就得提到MySQL了。MySQL是一个关系型数据库办理体系(RDBMS)。它究竟饰演了一个甚么样的脚色和它是假如任务的,咱们将鄙人面停止详细地解说。根基上,它是一个软件包,这个软件包可以很好地组织和办理大批的数据。MySQL也使得咱们可以很轻易地经由过程象PHP如许的办事器端剧本言语来获得信息。MySQL的for Unix-based平台(例如Linux)的非贸易使用是收费的。

  假如你足够侥幸的话,你的Web主机能够已为你装置了MySQL和PHP。假如是这类情形,有一些章节对你来讲就没有感化了,你可以直接跳到假如你的Web主机供应PHP和MySQL。

  咱们在本教程中所会商的大多半内容都合用于Windows-based或Unix-based的办事器。然而依据你利用的办事器类型的分歧,装置进程会纷歧样下一节解说若何在Windows-based的Web 办事器上装置。再上面的一节解说若何在Linux(和其他Unix-based的平台)下装置。假如你不是出格对装置进程感乐趣,你只需求选择浏览合适你的那一节。

在Windows下的装置

  你可以到http://www.mysql.com/(或在http://www.mysql.com/mirrors.html列出的镜像站点之一)并选择Downloads for Windows MySQL related software->Downloads->Register and download shareware version of MySQL-Win32,下载完文件后,将其解压并运转个中的setup.exe。

  当你装置好以后,MySQL已可使用了(不包含咱们不久将要履行的一些设置装备摆设)。象你的Web办事一样,MySQL也是一个可以在后台运转的办事,所以它可以在任什么时候候呼应对信息的恳求。这个办事法式,你可以在你装置MySQL目次下的bin子目次下找到。假如你利用的是一个同享的版本,这个办事被称之为mysqld-shareware.exe。在履行前,将其更名为 mysqld.exe。在MS-DOS提醒符下,经由过程以下号令开启这个办事:

C:mysqlin> mysqld


  要确保在Windows启动时就开启这个办事,你需求创立一个快捷体例,并将其到场到启动法式组中。另外,你还可以经由过程这个号令作为Windows NT/2000的一个办事装置:

C:mysqlin> mysqld-nt --install


  假如你在Windows NT/2000下运转同享版本有成绩,你可以尝尝用单机形式运转这个办事:

C:mysqlin> mysqld --standalone


  下一步是装置PHP。在写这本教程的时分,PHP 4.0已根基上成熟了。我本人就试过PHP 4.0-RC2,并没有碰到任何成绩。估量终究的不乱版很快将会宣布(能够到时分咱们这个教程还没写完),我建议你装置最新的版本,如许当正式版出来时你将不需求做任何变化。

  PHP可以从http://www.php.net/ (或在http://www.php.net/mirrors.php列出的镜像站点之一)收费地下载。你需求“binaries for Win32”软件包。你可以从以下地址取得一个很好的PHP 3.0 for Windows的装置指南:http://www.umesd.k12.or.us/php/win32install.html。 当PHP 4.0宣布终究版时,你能够需求晋级,然而4.0的装置根基上与3.0一样。你不会由于所选择的版本分歧而碰到甚么费事。

  MySQL和PHP装置好以后,你可以进入装置设置装备摆设了。

在Linux下的装置

  这一节所讲述的是在RedHat Linux下装置PHP和MySQL的进程。假如你利用的是Linux的分歧版本,或是利用的是其它Unix-based的操作体系,这些步调也长短常类似的,即便不是完整不异的。

  作为RedHat Linux的用户,你能够会对下载和装置PHP和MySQL的RPM宣布感乐趣。RPM切实其实是优异的,预打包的软件的装置十分轻易。不幸的是,它们也会限制你选择怎样设置装备摆设软件。由于这个缘由,我以为利用PHP和MySQL的RPM版本所带来的费事要比其实践价值来得更多。

  由于有些RedHat Linux的默许设置装备摆设会主动替你装置PHP,所以第一步就是从你的体系删除旧版本的PHP和MySQL。你需求以超等用户的身份登录来履行上面的号令。注重鄙人面的号令中,“%”暗示shell的提醒符,是不需求你输出的。


% rpm -e mysql
% rpm -e php



  假如这两个号令或个中一个显示法式没装置,不要忧虑。假如第二个号令胜利履行(也就是说,不显示任何信息),那就证实切实其实装置了老版本的PHP,你必需完整删除它。用你所习气的文本编纂器翻开Apache的设置装备摆设文件(凡是是/etc/httpd/conf/httpd.conf),寻觅上面的这两行内容。这两行凡是是分在文件的分歧中央,所以假如这两行不在一同,那其实没甚么好忧虑的。


LoadModule php3_module modules/libphp3.so
AddModule mod_php3.c



  这两行是用来告知Apache将PHP作为plug-in模块装入的。当你卸载了这个模块,你还需求删除这两行以包管Apache正常任务。你也能够在这两行的开首加(#)使其成为正文。

  为了确保Apache还在正常任务,你如今必需在没有PHP插件的情形下重启它:


% /etc/rc.d/init.d/httpd stop
% /etc/rc.d/init.d/httpd start



  一切布置妥善后,你可以筹办下载装置MySQL和PHP了。

在Linux下装置MySQL

  MySQL for Linux的版本是收费的,你可以从http://www.mysql.com/(或http://www.mysql.com/downloads/mirrors.html中列出的镜像站点之一)下载最初的不乱版(列鄙人载页的“recommended”中)。你应当获得“tarball source download”的版本,其文件名是mysql-version.tar.gz。

  下载完文件后,你必需确保以超等用户的身份登录停止装置,除非你只想在你本人的home目次下装置MySQL。入手下手解开下载的文件并进入刚创立的目次中:


% tar xfz mysql-version.tar.gz
% cd mysql-version



  上面你需求设置装备摆设MySQL的装置。除非你有相对的掌控,不然你需求指定装置的目次。我保举利用 /usr/local/mysql:

% ./configure --prefix=/usr/local/mysql


  在对显示器和显示器设置装备摆设停止过检测以后,你终究将前往到号令提醒符下。如今你可以编译MySQL了:

% make


  在编译后,你会从头前往到号令提醒符下。如今你可以装置你新编译的法式了:

% make install


  如今MySQL已装置好了,然而在利用前,你还得装置它的数据库文件。在你的入手下手装置的目次下,输出上面号令:

% scripts/mysql_install_db


  一切都做好后,你可以删除你正在个中任务的目次了,在这个目次中仅仅包含了源法式和装置的一时文件。假如你能够还需求从头装置,你只需求从头解开mysql-version.tar.gz 文件。

  当MySQL装置完成而且可以存储数据后,剩下的任务就是在你的盘算机中运转这个办事了。你可以用超等用户或你本人的用户(假如你是将这个办事装置在你本人的home目次下),然而,最好的办法是设置一个特别的用户,这个用户只能启动MySQL办事。这会避免有人经由过程MySQL办事侵犯你的体系。你可使用以下号令创立一个特别的MySQL用户:


% /usr/sbin/groupadd mysqlgrp
% /usr/sbin/useradd -g mysqlgrp mysqlusr


  
  在默许情形下,MySQL的一切数据库信息都存储在你装置的目次的var子目次下。咱们想设置这个目次只要咱们的新的MySQL用户能会见。上面的这个号令能完成这个任务(我假定你将MySQL装置到/usr/local/mysql目次):


% cd /usr/local/mysql
% chown -R mysqlusr.mysqlgrp var
% chmod -R go-rwx var



  如今一切都布置好了。在MySQL目次下,输出以下号令:

% bin/safe_mysqld --user=mysqlusr &


  如今MySQL办事已被MySQL用户开启,除非你封闭你的盘算机,这个办事将一向运转下去(就象Web和FTP办事一样)。要测试这个办事是否是正常运转,输出以下号令:

% bin/mysqladmin -u root status


  如今应当会显示MySQL办事的一些复杂的统计信息。假如你看到的是一个毛病信息,那就是失足了。你可以试一下从头装置。

  假如你想让你的MySQL办事在你的体系启动时主动运转(就象你的Web办事那样),你需求作响应设置。在MySQL目次的share/mysql子目次下,你会发明一个叫mysql.server的剧本,将它添加到你的体系的启动事务中就好了。

  假如你已设定了一个特别的MySQL用户来启动MySQL办事,你需求编纂mysql.server剧本。用你熟习的文本编纂器翻开它并改动mysql_daemon_user设定,使其指向你下面创立的用户:

mysql_daemon_user=mysqlusr
   接触MYSQL,开始设计数据库程序
作者: admin    时间: 2015-2-4 12:08
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者: 深爱那片海    时间: 2015-2-5 12:05
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 仓酷云    时间: 2015-2-8 21:33
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 金色的骷髅    时间: 2015-2-10 10:05
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 爱飞    时间: 2015-3-1 08:20
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 分手快乐    时间: 2015-3-4 03:13
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 飘飘悠悠    时间: 2015-3-11 09:04
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 透明    时间: 2015-3-17 19:38
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 精灵巫婆    时间: 2015-3-22 01:09
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 再现理想    时间: 2015-3-24 23:40
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 不帅    时间: 2015-3-25 10:09
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 山那边是海    时间: 2015-3-27 09:09
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 莫相离    时间: 2015-3-27 12:08
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 愤怒的大鸟    时间: 2015-4-3 20:38
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 乐观    时间: 2015-4-10 21:14
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 柔情似水    时间: 2015-5-4 13:21
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 灵魂腐蚀    时间: 2015-5-10 18:06
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 蒙在股里    时间: 2015-6-8 14:52
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2