输出:
<?=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 "换行还是要用\"<br>\"<br>不能用\\n啊!"; // [\\] [\"] 为转义符(不包括方括号),输出"\",与此同还有 [\$] 等。
/*将输出
换行还是要用"<br>"
不能用\n啊!
*/
//并列输入几个变量也可以使用",",完全相当于ASP中的"&"了(VBScript)
$a="Blueidea";
$b="is";
$c="PERFECT";
echo $a," ",$b," ",$c;
?>
等效ASP:
<%
response.write "hello world"
response.write "换行还是要用"& chr(34) &"<br>"& chr(34) &"<br>不能用\n啊!"
a="Blueidea"
b="is"
c="PERFECT"
response.write a &" "& b &" "& 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(">", ">",$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))," "," ")