学习目的:学会连接数据库 PHP简直就是一个函数库,丰富的函数使PHP的某些地方相当简单。建议大家down一本PHP的函数手册,总用的到。 我这里就简单说一下连接MYSQL数据库。 1、mysql_connect 打开 MySQL 服务器连接。 语法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 返回值: 整数 本函数建立与 MySQL 服务器的连接。其中所有的参数都可省略。当使用本函数却不加任何参数时,参数 hostname 的默认值为 localhost、参数 username 的默认值为 PHP 执行行程的拥有者、参数 password 则为空字符串 (即没有密码)。而参数 hostname 后面可以加冒号与端口号,代表使用哪个端口与 MySQL 连接。当然在使用数据库时,早点使用 mysql_close() 将连接关掉可以节省资源。 2、 mysql_select_db 选择一个数据库。 语法: int mysql_select_db(string database_name, int [link_identifier]); 返回值: 整数 本函数选择 MySQL 服务器中的数据库以供之后的资料查询作业 (query) 处理。成功返回 true,失败则返回 false。 最简单的例子就是: $conn=mysql_connect ("127.0.0.1", "", ""); mysql_select_db("shop"); 连接机MY SQL数据库,打开SHOP数据库。在实际应用中应当加强点错误判断。 今天就说到这里,明天再说一下数据库的读取。
View Details学习目的:学会构建数据库 在ASP中,如果是ACCESS数据库你可以直接打开ACCESS来编辑MDB文件,如果是SQL SERVER你可以打开企业管理器来编辑SQL SERVER数据库,但是在PHP中,MY SQL的命令行编辑可能会令初学者感到很麻烦,不要紧,你下载一个PHPMYADMIN安装一下,以后建立编辑数据库可以靠它了。 下面说一下它的使用。 进入了phpmyadmin后,我们首先需要建立一个数据库,Language (*) 这里选择中文简体,然后在左边的 创建一个新的数据库 这里填写数据库名字,点击创建即可。 然后在左边下拉菜单中选择那个已经创建的数据库。在下面的 在数据库 shop 中创建一个新表 : 名字 : 字段数 : 中填写表名字和大致你认为的字段数(不够或者多了都不要紧,以后可以再添加或者缺省),按执行。 然后就可以开始建立表了。 第一栏是字段的名字;第二栏选择字段类型: 我们常用的是以下几个: 1)VARCHAR,文本类型 2)INT,整数类型 3)FLOAT,浮点数类型 4)DATE,日期型 5)大家或许会问,自动添加的ID在哪里?这个只要选择INT类型,在后面的额外中选择 auto_increment 就可以了。 建立了表以后,可以在左边看到你建立的表,点击以后,你可以: 1)按右边的结构:查看修改表结构 2)按右边的浏览:查看表中的数据 3)按右边的SQL:运行SQL语句 4)按右边的插入:插入一行记录 5)按右边的清空:删除表中所有记录 6)按右边的删除:删除表 还有一个很重要的功能就是导入和导出,当我们本机做好了程序和数据库的时候,需要在服务器上也有一个本地镜像,如果是ASP的ACCESS简单了,直接上传MDB文件即可,如果是SQL SERVER也可以连接远端服务器进行导入。那么MY SQL中你可以导出所有的SQL语句,到了远端服务器的PHPMYADMIN上,创建数据库后按SQL,粘帖你刚才复制下来的所有本级生成的SQL语句即可。 今天就说到这里,明天继续说数据库操作。
View Details学习目的:掌握php的流程控制 1、if..else 循环有三种结构 第一种是只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: if (expr) { statement } 其中的 expr 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。 范例:本例省略大括号。 <?php if ($state==1)echo "哈哈" ; ?> 这里特别注意的是,判断是否相等是==而不是=,ASP程序员可能常犯这个错误,= 是赋值。 范例:本例的执行部分有三行,不可省略大括号。 <?php if ($state==1) { echo "哈哈 ; echo "<br>" ; } ?> 第两种是除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下: if (expr) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。 <?php if ($state==1) { echo "哈哈" ; echo "<br>"; } else{ echo "呵呵"; echo "<br>"; } ?> 第三种就是递归的 if..else 循环,通常用在多种决策判断时。它将数个 if..else 拿来合并运用处理。 直接看下面的例子 <?php if ( $a > $b ) { echo "a 比 b 大" ; } elseif ( $a == $b ) { echo "a 等于 b" ; } else { echo "a 比 b 小" ; } ?> 上例只用二层的 if..else 循环,用来比较 a 和 b 两个变量。实际要使用这种递归 if..else […]
View Details在iis上配置PHP是一件很容易的事,只要稍作几部设置就可以完成iis整合php的设置!下面给大家介绍下iis下整合php的详细教程: 将PHP压缩包解压到某个位置,一般为 C:\PHP 将php.ini-dist改名为php.ini,放到C:\windows目录下,注意php.ini上的权限,如果虚拟主机设置了权限去除了windows目录下的users,那么复制过去的php.ini是没有权限的,所有dll会无法加载php.ini中修改 extension_dir = "C:\php\ext" 设置PHP存放扩展的dll文件的路径建立一个存放session的目录,比如为sessions在php.ini中修改 session.save_path = C:\php\sessions" 设置session存放在指定的这个目录建立一个存放上传文件的临时目录,比如为temp(要求该目录的父目录有列文件夹的权限,否则也会有权限问题)在php.ini中修改 upload_tmp_dir = "C:\PHP\temp"给整个PHP目录users的读权限,给sessions目录和temp目录的users的读写权限将output_buffering=Off改为output_buffering=On ,开启输出缓冲开启后可以解决一些网站打开报错或打开空白的情况,并且不会对其他正常网站造成不良影响。—————————————————————--开启常用的扩展,即去掉相应;extension=XXX.dll前面的分号下面为常用扩展extension=php_curl.dllextension=php_gd2.dll ;图形处理用,比如图片缩放,水印extension=php_mbstring.dll ;phpmyadmin需要extension=php_mcrypt.dllextension=php_mhash.dllextension=php_mssql.dll ;sqlserver需要extension=php_mysql.dll ;mysql需要extension=php_mysqli.dll ;同上extension=php_pdo.dllextension=php_pdo_mssql.dllextension=php_pdo_mysql.dllextension=php_pdo_sqlite.dll—————————————————————--ISAPI方式:在IIS的web服务扩展里,添加一条扩展指向C:\php\php5isapi.dll文件,设置为允许在IIS的“网站--主目录--配置--应用程序扩展”里,添加.php的扩展名指向C:\php\php5isapi.dll(与CGI方式二选一,建议使用此方法)给PHP目录加上users的读权限给整个PHP目录加上users的读权限(其实是需要加network service权限就可以),如果用ISAPI模式,是需要有这个权限的,CGI的不需要使用此方式,c:\windows\php.ini文件必须有network service的读权限。CGI方式:在IIS的web服务扩展里,添加一条扩展指向C:\php\php-cgi.exe文件,设置为允许在IIS的“网站--主目录--配置--应用程序扩展”里,添加.php的扩展名指向d:\php\php-cgi.exe(与ISAPI方式二选一,不建议)给PHP目录加上users的读权限php.ini里设置cgi.force_redirect = 0,这个值不设置时默认为1,用CGI必须设置为0—————————————————————--支持mysql除了开启php_mysql.dll扩展外,还要将PHP目录下的libmysql.dll复制到c:\windows\system32下支持MSSQL(可以不设置)除了开启php_mssql.dll扩展外,还要将ntwdblib.dll文件复制到c:\windows\system32下注意:PHP里自带的这个文件的版本不对,是连接不了的,要使用所连接的SQL Server安装目录下的ntwdblib.dll文件的版本。2000数据库对dll文件版本有要求,2005的话,似乎用任意版本的dll都可以连。—————————————————————--支持curl除了php.ini开启curl扩展外,还要将libeay32.dll, ssleay32.dll这两个文件放到system32文件夹下才可以 —————————————————————-- 支持mcrypt除了php.ini开启mcrypt扩展外,还要将libmcrypt.dll放到system32文件夹下才可以 —————————————————————-- 其他设置一般为默认不动,用户需要时再设置post_max_size = 8M 默认是8Mupload_max_filesize = 2M 默认是2M开启全局变量register_globals = Off 默认不开启加大超时时间限制max_execution_time = 30 默认是30秒 或者设置其他内容等 按照以上的方法做完以后,如果可以打开php页面的话,那么说明你的iis下整合php配置成功了 本文章由中国数据(www.zgsj.com)--http://zhidao.zgsj.com原创,转载请保留此句
View DetailsZend Studio简介 Zend Studio是Zend Technologies开发的PHP语言集成开发环境(Integrated Development Environment IDE)。也支持HTML和js标签,但只对PHP语言提供调试支持。因为是同一个公司的产品,所以提供的Zend Framework方面的支持比其他软件好。Zend Studio5.5系列后,官方推出利用了Eclipse平台,基于PDT的Zend Studio for Eclipse 6.0,之后的版本也都构建于Eclipse。 Zend Studio是屡获大奖的专业 PHP 集成开发环境,具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能。 Zend Studio特点 1.快速代码开发与配置本地和远程调试器; 2.数据库连通性 & SQL工具 团队合作环境; 3.完全 PHP 4/PHP 5 切换 PHPDocs/PHP文档处理程序支持SFTP, FTP以至SSH的安全连接 100个以上代码摘录; 4.50个以上样品数据库应用程序 与Zend Platform组合。 Zend Studio产品特征 Zend Studio 设计时考虑了商务应用开发的需要,是开发者利用PHP创造强有力数据库应用软件的完美开发环境。Zend Studio 具有专业和企业开发者开发、配置、调试和管理关键商务PHP应用的易使用性、可伸缩性、可靠性和扩展性。 1.PHP最强有力的开发环境提高生产力:通过完全的PHP5支持、编码分析器、编码组合功能、语法检索、项目管理器、编码编辑器、绘图调试器(向导)。超强智能编码:具备新的和更优秀的分析和优化工具像PHP编码检测器,。PHP的标准记录工具--PHP文档记录器:非常容易记录PHP代码、程序应用和方案。FTP和SFTP组合简化配置,使开发者安全地从远程服务器灵活的上载和下载项目文件。 2.高水平的商务应用开发直接链接最广泛使用的专业数据库,像IBMDB2/Cloudscape/Derby、MySQL、Oracle、MicrosoftSQL Server, PostgreSQL和 SQLite。通过使用带 SQL92 和 语法检索支持的Zend SQL Query Editor,到被链接服务器上进行写和执行程序的访问。用 Zend SQL Explorer 观看数据库结构和管理内容。 3.PHP完整的调试环境先进的调试特征优势,包括:Conditional Breakpoints, Stack Trace View, Advanced Watches, Variables and Output Buffer利用最强大的PHP调试器在本地或远程调试本地的环境。对于本地调试或者是基于互联网的远程调试都能够确保安全连接用“一次点击浏览器调试”从浏览器直接调试和分析编码。 4.强有力的团队开发和管理工具从 Zend Studio 内直接应用 CVS,通过有效地管理源代码 ,容易进行团队的开发与合作。利用综合性能编辑器,监视访问功能,优化应用程序的总体性能。Zend Studio 与 Zend Platform 结合使用时,可以实时获得代码和脚本性能的反馈。ZEND STUDIO 为流行的 SQL 数据库包括 […]
View DetailsZend Framework (简写ZF)是由 Zend 公司支持开发的完全基于 PHP5 的开源PHP开发框架,可用于开发 Web 程序和服务,ZF采用 MVC(Model–View-Controller) 架构模式来分离应用程序中不同的部分方便程序的开发和维护。 Zend Framework 是用于 PHP 开发 Web 应用程序和 Web Service 程序的高品质开源框架。 利用 PHP 自身特性,Zend Framework 有很高的易用性和强大的功能。它提供了先进、健壮和安全的开发网站的解决方案。 ZF中的组件可以独立使用,但如果将它们组合起来,就形成了一个强大而可扩展的web开发框架。 ZF 提供了强壮而高效的 MVC实现,易于使用的数据库摘要和实现 HTML 表单解析、校验和过滤的表单组件,这样 开发者可以通过这些易用的、面向对象的接口联合所有这些操作。其它组件如 Zend_Auth和 Zend_Acl通过通用 的证书(credential)存储提供用户认证和授权。还有其它实现的客户库来简化访问最流行的可用的 web 服务。 不论你的程序需要什么,你都可能从 Zend Framework 中找到经过全面和严格测试的组件来使用,可以极为有效地减少开发时间。 Zend Framework 项目的主要赞助者是 Zend Technologies,但许多 其它公司也贡献了组件或重大功能。例如 Google、 Microsoft 和 StrikeIron 作为伙伴提供了 web 服务接口和其它 希望给 Zend Framework 开发者使用的技术。 没有活跃的 ZF 社区,Zend Framework 就不能交付和支持所有这些功能。社区成员包括贡献者都可以在这些地方找到: mailing lists, IRC channels 和其它论坛。无论你有什么关于 ZF 的问题,在社区里总能找到答案。 代码完全采用PHP5 面向对象编写;丰富完善的组件支持;良好的 Ajax 支持; 模块化的结构设计,易于扩展;完善的文档资料;灵活的架构设计; MVC是提高程序的可维护性的方法:将这个程序代码分为MVC三个部分 模型 关心的是欲显示的数据细节。关注的应用程序的业务逻辑部分,关注的是如何使用数据库来读取和保存数据。 […]
View Details以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少。 至于表单设计什么的,我这里也不想多说了,在《十天学会ASP》中已经有介绍。 下面简单介绍一下PHP的语法。 1、嵌入方法: 类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定。 2、引用文件: 引用文件的方法有两种:require 及 include。 require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。 include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。 3、注释方法: <?php echo "这是第一种例子。\n" ; // 本例是 C++ 语法的注释 /* 本例采用多行的 注释方式 */ echo "这是第二种例子。\n" ; echo "这是第三种例子。\n" ; # 本例使用 UNIX Shell 语法注释 ?> 4、变量类型: $mystring = "我是字符串" ; $NewLine = "换行了\n" ; $int1 = 38 ; $float1 = 1.732 ; $float2 = 1.4E+2 ; $MyArray1 = array( "子" , "丑" , "寅" , "卯" ); 这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾,可能ASP程序员会不适应。这两个遗漏也是程序上大多错误所在。 5、运算符号: 数学运算: 符号 意义 + 加法运算 – 减法运算 * 乘法运算 / 除法运算 % 取余数 ++ 累加 — 递减 字符串运算: 运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。类似ASP中的& <? $a = "PHP 4" ; $b = "功能强大" ; echo […]
View DetailsPHP5.2.17 官方下载: http://windows.php.net/downloads/releases/php-5.4.3-Win32-VC9-x86.zip 首先安装好IIS7 安装的时候 要注意三个地方打得勾 注: CGI 会在IIS7+PHP_5.3.5的环境中用到 ISAPI扩展和ISAPI筛选器 用在IIS7+PHP_5.2.17 下面开始添加IIS的PHP支持 IIS7+PHP_5.3.5 1. 将下载回来的php_5.3.5解压到 C:\php目录(也可以放在其他地方,但是后面应该做相应修改) 2. 将php.ini-development改名为php.ini 3. 修改php.ini 查找date.timezone 修改为date.timezone = “Asia/Shanghai”(这里必须改,不然会出警告) 找到Windows Extensions开启 所需模块,如:php_curl.dll php_mysql.dll php_mysqli.dll php_xmlrpc.dll 只要去掉前面的 分号 保存就可以了 4. 添加<模块映射> 这里的路径按你的实际情况填写. 5. 在网站根目录新建一个phpinfo.php的文本文件 内容为: <?php phpinfo();?> 6. 测试,打开浏览器看结果:localhost/phpinfo.php,如果能看到类似下面的页面就说明你成功了: 好了,到现在 已经可以成功的运行PHP程序了. IIS7+PHP_5.2.17 于之前安装IIS的时候已经选上了isapi扩展和isapi筛选,这里就不用另外再添加角色服务了,直接开始 先修改php.ini文件.. 把c:\php下的php.ini-dist (需先设置显示扩展名)改名成php.ini,用记事本打开 找到extension_dir = “./”,然后把里面的./改成c:\php(根据自己的实际情况修改路径) 1. 添加应用程序池 2. 添加isapi和cgi限制 3. 添加isapi筛选器 4. 添加脚本映射 5. 测试(之前已经创建了phpinfo.php) 跟之前一样 打开localhost/phpinfo.php 查看效果:
View DetailsPHP被许多程序员用来开发WEB的首选语言。在实际开发中,网站的各项功能都可以通过PHP语言的编写来满足,比如PHP页面跳转这一方法。 探讨PHP变量解析顺序如何获取提交数据 深入解读PHP运行机制 浅析PHP函数extract()应用技巧 为你总结一些PHP信息函数 PHP查询字符串技巧分享 Web系统中,从一个网页跳转到另一个网页,是LAMP项目中最常用的技术之一。页面跳转可能是由于用户单击链接、按钮等引发的,也可能是系统自动产生的。 此处介绍PHP中常用的实现页面自动跳转的方法。 PHP页面跳转一、header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。 header()函数的定义如下: void header (string string [,bool replace [,int http_response_code]]) 可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。 第二个可选参数http_response_code强制将HTTP相应代码设为指定值。 header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转。注意:1.location和“:”号间不能有空格,否则不会跳转。 2.在用header前不能有任何的输出。 3.header后的PHP代码还会被执行。例如,将浏览器重定向到lamp兄弟连官方论坛
1 2 3 4 5 6 7 |
<?php //重定向浏览器 header("Location: http://bbs. lampbrother.net"); //确保重定向后,后续代码不会被执行 exit; ?> |
PHP页面跳转二、Meta标签 Meta标签是HTML中负责提供文档元信息的标签,在PHP程序中使用该标签,也可以实现页面跳转。 若定义http-equiv为refresh,则打开该页面时将根据content规定的值在一定时间内跳转到相应页面。 若设置content="秒数;url=网址",则定义了经过多长时间后页面跳转到指定的网址。例如,使用meta标签实现疫苗后页面自动跳转到LAMP兄弟连官方论坛。
1 |
<meta http-equiv="refresh" content="1;url=http://bbs.lampbrother.net"> |
例如,以下程序meta.php实现在该页面中停留一秒后页面自动跳转到bbs.lampbrother.net。
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $url="http://bbs.lampbrother.net"; ?> <html> <head> <meta http-equiv="refresh" content="1; url=<?php echo $url; ?>"> </head> <body> 页面只停留一秒…… </body> </html> |
PHP页面跳转三、JavaScript 例如,此代码可以放在程序中的任何合法位置。
1 2 3 4 5 6 |
<?php $url="http://bbs.lampbrother.net"; echo "<script language='javascript' type='text/javascript'>"; echo "window.location.href='$url'"; echo "</script>"; ?> |
以上就是我们向大家介绍的三种PHP页面跳转实现方法。
View DetailsPHP会话Session的御用比起Cookie来说相对要更安全一些,而且没有数据长度的限制。我们今天就向大家介绍有关PHP会话Session一些相关知识,以加深民大家对PHP会话Session的认识程度。 PHP函数header()查询单部件的具体方法解 WordPress获得2009开源PHP项目亚军 PHP数组转字符串与PHP字符串转数组的相关 探讨PHP引用&符号的一些注意问题 PHP数组处理函数概览 由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。 对于 Cookie 来说,假设我们要验证用户是否登陆,就必须在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证。如果用户名和密码存储在数据库,每次都要执行一次数据库查询,给数据库造成多余的负担。因为我们并不能 只做一次验证。为什么呢?因为客户端 Cookie 中的信息是有可能被修改的。假如你存储 $admin 变量来表示用户是否登陆,$admin 为 true 的时候表示登陆,为 false 的时候表示未登录,在第一次通过验证后将 $admin 等于 true 存储在 Cookie,下次就不用验证了,这样对么?错了,假如有人伪造一个值为 true 的 $admin 变量那不是就立即取的了管理权限么?非常的不安全。 而PHP会话Session就不同了,Session 是存储在服务器端的,远程用户没办法修改 Session 文件的内容,因此我们可以单纯存储一个 $admin 变量来判断是否登陆,首次验证通过后设置 $admin 值为 true,以后判断该值是否为 true,假如不是,转入登陆界面,这样就可以减少很多数据库操作了。而且可以减少每次为了验证 Cookie 而传递密码的不安全性了(Session 验证只需要传递一次,假如你没有使用 SSL 安全协议的话)。即使密码进行了 md5 加密,也是很容易被截获的。 当然使用 Session 还有很多优点,比如控制容易,可以按照用户自定义存储等(存储于数据库)。我这里就不多说了。 PHP会话Session在 php.ini 是否需要设置呢?一般不需要的,因为并不是每个人都有修改 php.ini 的权限,默认 Session 的存放路径是服务器的系统临时文件夹,我们可以自定义存放在自己的文件夹里,这个稍后我会介绍。 开始介绍如何创建 Session。非常简单,真的。 启动 Session 会话,并创建一个 $admin 变量:
1 |
<ol class="dp-xml"><li class="alt"><span><span>// 启动 Session </span></span></li><li><span>session_start(); </span></li><li class="alt"><span>// 声明一个名为 admin 的变量,并赋空值。 </span></li><li><span>$_SESSION["admin"] = null; </span></li><li class="alt"><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span></li></ol> |
如果你使用了 […]
View Details