马上就加载好了...
王佳冬中文博客

轻松将简单的asp代码转换为php代码

by on Jun 06 , 2009 , under 学术 , 867 views , 6 Comments , 网址太长?

随着php发展的迅速,asp使用者的减少也成了必然,而很多人也不愿意使用asp.net,于是,windows系统服务器也越来越少,linux服务器越来越多,有的时候,不得不将原来的asp程序改为php程序。

php代码截图

对 于简单的、单页面的asp程序来说,选择手动转换成php程序那是最好不过的办法了,当然复杂的、多页面的asp就行不通了,建议还是选择更换程序和数据 库吧!最近在把自己的一些以前写的asp小程序逐步地改成php的,发现asp和php程序大同小异,除去html、div+css、js等,需要改的东 西其实还是很少的,如果也有打算将自己的小程序换到php服务器上去的朋友可以参考一下以下几个我总结的基本语句的转换方法,当然都是入门级的,嘿嘿。

include文件语句

例如需要在网站首页加载一个为conn的配置文件

asp语法:   在index.asp的最上方  <!– #include file=”conn.asp” –> conn.asp是相对目录下的asp文件

php语法:  在index.php的最上方 <? include “conn.php” ; ?> conn.php是相对目录下php文件

php可自己定义绝对路径,不过一般不会用,而且用相对路径肯定比较方便。

接收form表单语句

例如接收一个包含姓名、密码、邮箱的表单数据

asp语法:

username=Request.Form(“username”)
password=Request.Form(“password”)
email=Request.Form(“email”)

php语法:

$username=$_POST[username];
$password=$_POST[password];
$email=$_POST[email];

如果加上sql写入数据库语句比较复杂,所以这里就不多作说明了,有兴趣的朋友可以参考一下一些小的程序。

连接数据库语句

例如asp连接access数据库、php链接mysql数据库,链接出错皆提示error。其中asp的access数据库位置在相对目录下”Database.mdb,php的mysql数据库在loaclhost,用户名和密码是wjd和111111。

asp语法:

<%
‘connstr    =   “DRIVER=SQL Server;server=localhost;database=source;uid=sa;pwd=111111″‘     //这个是连接asp.net链接mssql的语句
connstr = “provider=microsoft.jet.oledb.4.0;data source=” & Server.Mappath(“Database.mdb”)
set   conn   =   server.createobject(“ADODB.CONNECTION”)
if err.number<>0 then
err.clear
set conn=nothing
response.write “error!”
Response.End
else
conn.open connstr
if err then
err.clear
set conn=nothing
response.write “error!”
Response.End
end if
end if

sub endConnection()
conn.close()
set conn=nothing
end sub
%>

php语法:

<?php
$db_server=”localhost”;
$db_user_name=”wjd”;
$db_user_password=”111111″;
$db_name=”wjd”;
$conn=mysql_connect($db_server,$db_user_name,$db_user_password);
if(!$conn)
{
echo”error”;
exit(0);
}
$flag=mysql_select_db($db_name,$conn);
if(!$flag)
{
echo”error!”;
exit(0);
}
?>

链接数据库是第一步,所以很关键。至于access数据库转换成mysql数据库这里就不多作介绍了。

查询数据库语句

在链接上数据库之后,就可以实现写入、查询等操作了,这里介绍一种查询语法。例如有表people,查询表中最新的8条性别(gender)为女(F)的数据并存放在系统内存中。

asp语法:

sql=”Select Top 8 *From [people] where gender=‘F’ order by ID desc”
rs.open sql,connstr,3,3

php语法:

$result = mysql_query(“SELECT  * FROM people where gender=‘F’ order by id desc limit 8”);

其实sql语句都是通用的,包括update、delete、select等等,建议对sql查询语句做一些基本了解后再执行复杂的查询语句。

输出已查询数组语句

之后呢,让我们用表格方式输出已经查询好的并且已经存放在内存中的数组,例如数组为:

people  “Anne””David””Tom””Linda”
gender      “F”   “M”    “M”    “F”
no           1      2       1      3

asp语法:

<table>
<tr>
<td>姓名</td> <td>性别</td><td>学号</td>
</tr>
<tr>
<td><%=rs(“people”)%></td>
<td><%=rs(“gender”)%></td>
<td><%=rs(“no”)%></td>
</tr>
</table>

php语法:

<table>
<th>姓名</th><th>性别</th><th>学号</th>
<?php
$people= array(“Anne”,”David”,”Tom”,”Linda”);
foreach( $arr as $v ){
echo “<tr>” ;
echo “<td>” . $people[$v] . “</td>”;
echo “</tr>” ;
}   ?>
</table>

asp和php输出数组的方法有很多,大家可以灵活使用。注意:以上例子都没有提到sql查询数据库。

总结一下

其实对于一个简单的程序来说,无非就是建立数据库、连接数据库、查询数据库等这些基本操作,只要掌握了这几种基本语法,自己写或者转换一个小程序并不难,而且方法都有很多种,其实代码还是很有意思的。上面介绍的这些内容都是最基本的,今天临时写的,可能粗心会有写错的地方,希望大家见谅啦 :)

你可能喜欢的博文:
 

水楼已经盖了 6 层了!

  1. NS基地

    不错,那天把ZBLOG转换PHP的,HAHA

  2. 冬瓜

    @NS基地, 哈哈,这个工程量也太大啦

  3. jefferys

    相对于微软的产品还是比较通俗易懂容易上手的,同样一个asp和一个php程序,明显asp更加趋近与自然语言,而php那么多$符号看起来就比较乱。

    asp和php的效率应该还在数据库端,程序本身执行效率应该差不多。

  4. 冬瓜

    @jefferys, 其实我也觉得asp通俗易懂,哎,但是潮流把他放弃了

  5. jefferys

    @冬瓜, 微软自己把asp放弃了,搞出来的Asp.Net还得弄一个硕大的Visual Stdio的IDE……所以潮流就选择了同时抛弃asp和asp.net

  6. 轻松将简单的asp代码转换为php代码 | 根号叁的窝

    […] 轻松将简单的asp代码转换为php代码 2011-03-30  |  19:00分类:学习研究,网络编程  |   轻松将简单的asp代码转换为php代码 […]

赶快说点什么吧! ^_^