asp与php语法区别

1 篇文章 0 订阅

输出:

<?=whichList(1);?>

echo $myrow["jianjie"];

asp:

<%=whichList(1)%>

Response.wrie myrow["jianjie"];

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

限个数输入的用法

php:用limit

为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> Select * FROM table LIMIT 95,-1; # 检索记录行 96-last.

如果只给定一个参数,它表示返回最大的记录行数目:
mysql> Select * FROM table LIMIT 5;        # 检索前 5 个记录行

换句话说,LIMIT n 等价于 LIMIT 0,n。

如:

1)$result=mysql_query("select * from products_picture where title2!='' && xilie!='H' && xilie!='I' && xilie!='J' && xilie!='R' && xilie!='G' && id!=90 order by order_id asc limit 20"); //限制前20个

2)$rs=mysql_query("select * from products_picture where xilie='R' order by order_id asc limit 1,2");//第二个和第三个

asp:用top

sql=”select top 10 * from 数据表 where where 字段名=字段值 order by 字段名 [desc]”

   

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

单引与双引用法

PHP:

1)echo'<img src="../handaadmin/products/infomation/'.$sign.'" align="middle">';

2)echo "<td align=\"left\"><a href='product_Info.php?id=".$id."'>".ChgTitle($title2,10)."</a></td>";

单引和双引都可以去当字串用,不同的是:变量在单引中不起作用,在双引中起作用

其他和ASP一样,自已不能圈套(单引里不能再出现单引,双也亦此,原形输出除外),用 . 去连接起来,前出现 / ,表示原形输出

asp:

只能用双引当字串,有双引里可出现单引,不能出现相同双引,字符串用不着&连接起来

------------------------

mysql_query("select count(id) as counter from admin where username ='$user' && password=md5(' $password ' )");
或者$password1=md5(“$password”)
mysql_query("select count(id) as counter from admin where username ='$user' && password=’ $password");

echo "<td align=\"left\">".SignShow_index($sign)."<strong>$title</strong></td>";

echo "<td align='center' valign='middle'><img src=\"../handaadmin/words/leftside/uploaddir/$pic\" width='170' height='120'></td>";

echo ("字符串 \$str 的第一个字是换行字符。\n");

echo '<script lanuage="javascript">window.location.href="'.$sel.'";</script>'; //变量在单引中不起作用,在双引中起作用

asp:  ddd为变量

response.wrise  “….” & ddd & ”…”

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

是否有存在数据

if($myrow=mysql_fetch_array($result))

---------------------

$rs=mysql_query("select count(*) from products_picture where xilie='R'");

$myrow = mysql_fetch_array($rs);

$numrows=$myrow[0];//记录总数

--------

$result=mysql_query("select count(id) as counter from admin where username ='$user' && password=md5('$password')");

               $myrow=mysql_fetch_array($result);

               $counter=$myrow['counter'];

               if($counter>0){  //存在

或者

if($myrow=mysql_fetch_array($result)){

               $i=0;

               do{

                      $i++;

                      $id           =$myrow["id"];

                      $title2 =$myrow["title2"];

                     

                      if($i%2==1){

                             echo "  <tr>";

                             echo "     <td width=\"50%\" align=\"center\"><a href=\"zxcp_Info.php?id=$id\">$title2</a></td>";

                      }

                      if($i%2==0){

                             echo "     <td width=\"50%\" align=\"center\"><a href=\"zxcp_Info.php?id=$id\">$title2</a></td>";

                             echo "  </tr>";

                      }

               }

               while($myrow=mysql_fetch_array($result));

               }

asp :

if (not rs.eof ) then

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

调用该函数来包含不同文件

<?php require_once('../conn.php');?> 

include() 和require():语句包括并运行指定文件。
include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行。

require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。
include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。如同此语句名字暗示的那样,只会包括一次

----------------------

<?php
Include "auto_prepend_file.php" ;
.......//这里是你的程序
Include "auto_append_file.php";
?>

asp:

<!--#include file="includes/conn.asp"-->

 

 

(也可用此法去测试代码)文本输出:

<?php

echo "Hi, I'm a PHP scrīpt!";

exit;

?>

<%

response.write “Hi, I'm a PHP scrīpt! ”

response.end

%>

>>>>>>>>>>>>>>>>>>>>>>>>

双引号结束

PHP每要双引号结束

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

确定表单是否提交

PHP判断Form表单是否提交

$action=$HTTP_POST_VARS["Button1"];

if($action=="提交")

{

  //执行表单操作

}

else

{

  //读取默认值

}

Asp在url中加acting变量去识别是否提交

>>>>>>>>>>>>>>>>>>>>>>>>>>

算术和字符

Php:  $a . $b :字符串连接为一个.

ASP: 为&与+

Php: $a == $b :相等ASP: 为在if中用 =代表相等

1)    写HTML

asp: Response.Write(str)
php: print $str;
    echo $str;
    print_r $debug_str;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2) Form, Cookie and QueryString变量
asp: 可以用Request object.
php: 这些变量是自动提供的作为一个全局变量,如果在PHP.ini文件中这样配置的话:

   variables_order="EGPCS"
   register_globals=On

  为了安全,我将不允许register_globals (设置它为OFF). 然后变量仅仅在数组中使用:
   $HTTP_POST_VARS, $HTTP_COOKIE_VARS and $HTTP_GET_VARS.
>>>>>>>>>>>>>>>>>>>>>>>>>>
3)url转向其他路径
asp: Response.Redirect(url)
php: Header("Location: $url");
>>>>>>>>>>>>>>>>>>>>>>>>>>>
4) Cookie 处理
asp:

Response.Cookies(cookiename) = newval
    avar = Request.Cookies(cookiename)
   
php:

setcookie($cookiename, $newval);
    $avar = $HTTP_COOKIE_VARS[$cookiename];
>>>>>>>>>>>>>>>>>>>>>>>>>
5)Application变量
asp: Application(appvarname)
php: 不提供,可以用数据库模拟
>>>>>>>>>>>>>>>>>>>>>>>>>>
6)Session 变量
asp:

Session(sessionname) = newval
    avar = Session(sessionname)

php: 在PHP4或以后的版本中, 我们确定变量作为一个session在
    session_register($sessionname), 然后,我们调用session_start( )
   在开始使用的.php 页恢复session变量值.

<?

ob_start();                    

session_start();  //前面不要有html代码出现

$username=$user;

session_register("username");

?>
test1.php
------
<?

ob_start();
session_start();  //前面不要有html代码出现


echo  $_SESSION["username"]  //输出:“这是SESSION变量的值”
?>

   例如:
   
    session_register('avar');
    $avar = 99;
    session_start();
    print $avar;

 

7)Form 变量
asp: Request.Form("formvar")
    Request.QueryString("getvar")

php: $HTTP_POST_VARS["formvar"];
    $HTTP_GET_VARS["getvar"];

<?php

echo( "Welcome to our Web site,

$HTTP_POST_VARS[firstname]$HTTP_POST_VARS[lastname]");//提倡使用,HTTP_POST_VARS一定要大写

<A HREF="newpage.php?name=<?php echo(urlencode($HTTP_POST_VARS[firstname])); ?>"> A link </A>

echo( "Welcome to our Web site,

$firstname$lastname");//不提倡使用

?>

    GET and POST 变量可以交替的自动地修改到PHP变量,这是不安全地方法。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>

url变量取值

<A HREF="welcome.php?name=Kevin"> Hi, I'm Kevin! </A>

$name=$_REQUEST['name'];

<?php
echo( "Welcome to our Web site, $name!" );
?>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
8)Server 变量
asp:  这有许多服务器变量,可以看ASP文档. 一个例子:

   Request.ServerVariables("HTTP_HOST")

php: 作为ISAPI模式, 服务器变量存储在$HTTP_SERVER_VARS数组里。
   作为CGI, 它们存贮在环境变量里, 用$HTTP_ENV_VARS数组或getenv( )
   可以得到。一个例子:

    $HTTP_SERVER_VARS["HTTP_HOST"] using ISAPI module

    $HTTP_ENV_VARS["HTTP_HOST"] using CGI module

>>>>>>>>>>>>>>>>>>>>>>>

同页变量

传递用表单隐藏控控件来完成,而变量直接就可引用


9)数据库访问
asp: 一般用ado技术
php: ADO可以使用adodb库来模拟,这个库等价与ado.
   限制是,目前支持只读性光标和前滚光标.
   (注解)也可以直接调用com库,看我的文章。

10)Buffering
asp: Response.Buffer = true
    Response.Write("abc");
    Response.Flush()
php: ob_start();
    print "abc";
    ob_end_flush();

11) Script Timeout
asp: 时间级是秒级:
    Server.ScriptTimeout(240)

php: 时间级是秒级:
    set_time_limit(240);

 

 

ASP内置对象与PHP的对比 星期五 下午 08:53asp中实现重定向是用response.redirect函数:

用法一例:

response.redirect "../test.asp"

php中也有类似函数:header

用法一例:

header("location:../test.php");

但是两者是有区别的.

asp的redirect函数可以在向客户发送头文件后起作用.

<html><head></head><body>

<%response.redirect "../test.asp"%>

</body></html>

查是php中下例代码会报错:

<html><head></head><body>

<?

header("location:../test.php");

?>

</body></html>

只能这样:

<?

header("location:../test.php");

?>

<html><head></head><body>...</body></html>

即header函数之前不能向客户发送任何数据.

再看下面一例:

asp中

<html><head></head><body>

<%

response.redirect "../a.asp"

response.redirect "../b.asp"

%>

</body></html>

结果是重定向a.asp文件.

php呢?

<?

header("location:../a.php");

header("location:../b.php");

?>

<html><head></head><body></body></html>

我们发现它重定向b.php.

原来在asp中执行redirect后不会再执行后面的代码.

而php在执行header后,继续执行下面的代码.

在这方面上php中的header重定向不如asp中的重定向.有时我们要重定向后,不能执行后面的代码:

一般地我们用

if(...)

header("...");

else

{

...

}

但是我们可以简单的用下面的方法:

if(...)

{ header("...");break;}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

PHP与ASP程序结构的对比!

ASP:                                                   PHP:

if 条件 then                                           if (条件){

  ......                                                      ......

end if                                                  }else{}

区别: 在php中无then 也没end if

select case 变量                                   switch (变量){

case 值1:                                               case 值1:                               

        .......                                                      .......

case 值2:                                                   break;

        .......                                               case 值2:

case else                                                     .......

        .......                                                   break;

                                                               Default:

end select                                                    .......

                                                                 break; }

区别: 语句不同,在ASP中,由select开始,end select结束;在PHP中以{开始,以}结束;而且在PHP中一定要用break跳离循环体;

for 变量=起始值  to 终值 step 步长             for (expr1;expr2;expr3)

                                                               {      ......            

                      

next                                                        }

区别看一下就知道了。

但在php5中还支持下面这种for结构:

for (expr1;expr2;expr3) : ..... end for;

哈哈,它们之间还有一个比较明显的区别:

asp中能自动识别语句的结束,而在php中要加;以标识当前语句的结束;

》》》》》》》》》》》》》》》》》》》》》》》》》》》》

[问题]:学习PHP下网站开发。

[目的]:如果你能使用ASP技术进行网站开发,而又想获得PHP开发的技能,那么这篇文章非常适合你。

[详细]:
I.服务器端脚本标记
   ASP中的用来标记代码块的标记是
   
    <% statements %>

   PHP中用来标记 PHP 代码块的标记是(共有四套,只说一种),别忘了给每句加句号";"。
   
    <?php

       statements
       ...
    ?>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
II.变量赋值
  同ASP一样,PHP中的变量只有一种类型,可以不经定义直接使用。但要在变两名前加上“$”,大小写是区分的。

举例:
<?php
   $var = "Bob";
   $Var = "Joe";
   echo "$var, $Var";       // 输出 "Bob, Joe"
?>

等效ASP:
<%
   Str1 = "Bob"
   Str2 = "Joe"
   Response.write Str1&", "&Str2
%>
>>>>>>>>>>>>>>>>>>>>>>>>
III.字符串
   PHP的字符串很强,和ASP不同的是:变量可以直接放在字符串中,不用单提出来,系统将取$后尽可能多的字母自动获取变量名(强制指明变量名何处结束可以用括号"()",或者是"{}"---Afeila)。这在建立数据库查询字符串方面能减轻很多工作量。
  

  举例:
<?php
   $PetName = "J";
   $Pet = "cat";
   $Str = "My $Pet's name is $(PetName)Bingo";
  
   echo $Str;       //输出 "My cat's name is JBingo"
?>

  等效ASP:
<%
   PetName = "J"
   Pet = "cat"
   Str = "My "& Pet &"'s name is "& PetName &"Bingo"

   Response.write Str
%>

说明查询字符串的举例:
<?php

   $sqlstr="INSERT INTO `tables` (`name`, `sex`, `mphone`) VALUES ('$name', '$sex', '$mp')";

   $res = mysql_query($sqlstr) or die("Query failed : ".mysql_error());

?>

  等效ASP:
<%

   sqlstr="INSERT INTO `tables` (`name`, `sex`, `mphone`) VALUES ('"& name &"', '"& sex &"', '"& mp &"')"

   conn.execute(sqlstr)

%>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

 

 

IV.输出
ASP输出用 response.write 。PHP 输出用 echo.

举例:
<?php
   echo "hello world"; //最简单直接输出字符串,输出 "hello world"
  
   //因为输出为HTML所以换行还是要用<br>的,切忌写\n

   echo "换行还是要用\"&lt;br&gt;\"<br>不能用\\n啊!"; // [\\] [\"] 为转义符(不包括方括号),输出"\",与此同还有 [\$] 等。

   /*将输出

  换行还是要用"<br>"
  不能用\n啊!

   */

   //并列输入几个变量也可以使用",",完全相当于ASP中的"&"了(VBScript)
   $a="Blueidea";
   $b="is";
   $c="PERFECT";

   echo $a,"&nbsp;",$b,"&nbsp;",$c;

?>

等效ASP:
<%
   response.write "hello world"
  
   response.write "换行还是要用"& chr(34) &"&lt;br&gt;"& chr(34) &"<br>不能用\n啊!"

   a="Blueidea"
   b="is"
   c="PERFECT"

   response.write a &"&nbsp;"& b &"&nbsp;"& c

%>

此外,同ASP中的省略写法一样,PHP中也有同样的功能

   <?= expression ?>

等同于APS中的:

   <%= experssion %>

举例:
<?php

   $a="Hello world";

?>
...

<?= "I say \"$a\"" ?>

等效ASP:

<%

   a="Hello world"

%>
...
<%= "I say "& chr(34) & a & chr(34) %>


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
V.页面间传递变量
先说ASP,ASP中获取表单用GET方法传过来的变量或者是包含查询字符串的URL中的变量(最终实质是一样的,这里姑且认为是两种方法,因为是有意义的)用

    Request.QueryString("VariblesName")

获取表单用POST方法传过来的变量用:

    Request.Form("VariblesName")

众所周知,可以不写集合名,将按QueryString,Form,Cookies,SeverVariables顺序来搜索VariblesName变量,找到为止。如:
  
    Request("VariblesName")
  
------------------------------------------------------
PHP中处理GET方法传过来的变量用

    $_GET["VariblesName"]

PHP中处理POST方法传过来的变量用

    $_POST["VariblesName"]

同样,如果不关心是用什么方法传过来的也可以写(不要试图让它找到什么SeverVariables,没有这么一说):

    $_REQUEST["VariblesName"]

据本人试验,什么也不写也行,直接写

    $VariblesName

都能奏效!可见PHP之强啊~~

强调:变量名两边用的是[],不是ASP中的()了,而且前边已经有"$_..."了,变量名前就不要再加"$"了,不要写成$_GET["$name"]。

举例:
[HTML]
<form action="action.php" method="POST">
   Your name: <input type="text" name="name" >
   Your hometown: <input type="text" name="area" >
   <input type="submit">
</form>

<?php
   //action.php
  
   echo "$_POST[name] is from $area."; //变量名的引号也可以不写

/*如果 name(input)中输入的是"dknt",area(input)中输入的是"IceCity" 则会输出:

   dknt is from IceCity

*/

?>

等效ASP:
<%
   'action.asp

   response.write request.form("name") & " is from " & request("area") & "."
  
%>

此情况应用双变量:

while ($cat = mysql_fetch_array($cats)) {
$cid = $cat["ID"];
$cname = $cat["Name"];

$var = "cat$cid"; // The name of the variable
if ($$var) { // The checkbox is checked

两个美元符并不是一个排印错误。名为$var的变量的值将是"cat#",在这里,#是相应的目录的ID。而$$var值将会和$cat#相等。这是PHP的一个相当晦涩的特性,被称之为“变量的变量”,在这种情况下,它很有作用。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

替换

str_replace(">", "&gt;",$fString);

php 中的str_replace 函数总结

2007-06-05 13:58

                                   

     格式:
            [@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)]
            [@str_replace(array('旧1','旧2','旧3'), array('新1','新2','新3'), $被替换内容的变量名)]
            [@str_replace(array('旧1','旧2','旧3'), '新内容', $被替换内容的变量名)]
            实例:
            多对一替换:想把内容字段里所有的<p></p>标签清除掉,替换成空

           

[@str_replace(array('<p>','</p>'), '', $Content)]
            一对一替换:想把内容字段里所有的<br>标签换成<p>

           

[@str_replace('<br>', '<p>', $Content)]
            多对多替换:想把内容字段里的<br>换成<br />, 同时<p>换<hr>,把</p>全清除

           

[@str_replace(array('<br>', '<p>','</p>'), array('<br />','<hr>',''), $Content)]

           

<?php
            // Provides: <body text='black'>
            $bodytag = str_replace("%body%", "black", "<body text='%body%'>");
            echo $bodytag;
            // Provides: Hll Wrld f PHP
            $vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
            $onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
            echo $onlyconsonants;
            // Provides: You should eat pizza, beer, and ice cream every day
            $phrase     = "You should eat fruits, vegetables, and fiber every day.";
            $healthy = array("fruits", "vegetables", "fiber");
            $yummy      = array("pizza", "beer", "ice cream");
            $newphrase = str_replace($healthy, $yummy, $phrase);
            echo $newphrase;
            // Use of the count parameter is available as of PH
            $str = str_replace("ll", "", "good golly miss molly!", $count);
            echo $count; // 2
            $str="<p>this is test</p><br><p size=3>this.</p><p>hello</p>";
            print str_replace(array('<p>','</p>','<br>'),array('<br>','<hr>',''),$str)
            ?>

           

php 的sub_replace函数对应的js函数为
            String.prototype.replaceAll = function(search, replace){
            var regex = new RegExp(search, "g");
            return this.replace(regex, replace);
            }  
            var str = '<p>asfdafd</p><p>asfdafd</p><p>asfdafd</p>';
            alert(str.replaceAll('</p>', '<br>'));

                       

asp:

content =replace(replace(rs("content"),"<br>",chr(13)),"&nbsp;"," ")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值