--------Q1
ASP
userID = COOKIES("userID")
PHP
$userID = $_COOKIE["userID"];出错信息 Notice: Undefined index: userID--------Q2
ASP
<td><%=request("menu")%></td>
PHP
<td><?=$_POST["menu"]?></td> 没显示--------Q3
ASP
<td><%=request("menu")%></td>
PHP
<td><?=$_POST["menu"]?></td> 没显示--------Q4
ASP
<td><a href=?menu=about?ID=<%request("ID"%>><%=mArray[0]%> </a></td>
PHP
<td><a href=?menu=about?ID=$ID>.$mArray[0] </a></td> 没显示--------Q5
ASP
rs.close
set rs = nothing
PHP
mysql_free_result($re); 出错!--------Q5
...
ASP
userID = COOKIES("userID")
PHP
$userID = $_COOKIE["userID"];出错信息 Notice: Undefined index: userID--------Q2
ASP
<td><%=request("menu")%></td>
PHP
<td><?=$_POST["menu"]?></td> 没显示--------Q3
ASP
<td><%=request("menu")%></td>
PHP
<td><?=$_POST["menu"]?></td> 没显示--------Q4
ASP
<td><a href=?menu=about?ID=<%request("ID"%>><%=mArray[0]%> </a></td>
PHP
<td><a href=?menu=about?ID=$ID>.$mArray[0] </a></td> 没显示--------Q5
ASP
rs.close
set rs = nothing
PHP
mysql_free_result($re); 出错!--------Q5
...
q2、q3一样,你的PHP版本过低或者前页根本没有POST数据过来;
q4,语法混乱,不是笔误就是错误。
q5、mysql_free_result 一般不需要用户手动调用,系统会自动调用,并关闭数据库连接。如果你出现 "ot a valid mysql result resource"之类的信息即表明系统已经自动释放完成。
q5,调用数据库后,不必像ASP一样rs.close set rs = nothing 系统会自动关闭?
q4,是否应该这样写 <td><a href=?menu=about?ID=<?=$ID?>><?=$mArray[0]?></a></td>
<td><a href=?menu=about&ID=<?=$ID?>><?=$mArray[0]?></a></td>
--------Q6
$mArray = array("a","b","c"); //全局变量,但对mBar()不起作用
function mBar()
{
echo "<a class=link4 href=?menu=about>".$mArray[0]; //错误信息Notice: Undefined variable: mArray?
}如果将数组放入mBar()中,起作用如下
function mBar()
{
$mArray = array("a","b","c");
echo "<a class=link4 href=?menu=about>".$mArray[0]; //正确
}---------Q7
ASP
<meta name=description content=<%=Conn.Execute("select Content from help where ID=87")(0)%>/>
PHP
???如何写???---------Q8
如何设置PHP,使其不要总是提示Notice: Undefined variable: mArray 等变量值问题?
@仅能阻止某个变量忽略提示。
@仅能阻止某个变量忽略提示。
比如: global $mArrayq7,<meta name=description content=<?=mysql_result(mysql_query("select ... where ..."))?>/>q8,设置 php.ini 中 display_error = no
---------Q9
同Q6一样,换个方式描述
ASP
a=3
b=5
sub s1()
s=a+b //有效变量
end subPHP
a=3; //讲义中说明这是全局变量,对之后的参数均有效
b=5;
function s1(){
s=a+b; //无效变量,function s1($a,$b) 可以解决。但变量太多,能否像ASP一样直接引用
{
----------------------------------------------------------------------------
$a = 3;
$b = 5;
function s1()
{
global $a,$b;
return $a+$b;
}
----------------------------------------------------------------------------
或者直接使用全局数组$GLOBALS(sorry,在上面的解答中,这里有笔误。):
function s1()
{
return $GLOBALS['a'] + return $GLOBALS['b'] ;
}
----------------------------------------------------------------------------
$b = 5;
function s1()
{
global $a,$b;
return $a+$b;
}function s2()
{
global $a,$b;
return $a+$b;
}
...
function sn()
{
global $a,$b;
return $a+$b;
}-----global n次啊!
----------Q10
ASP 当页面判断后仍然保持刚输入的数据
<input name="username" type="text" value="<$=request("username")?%>" size="15">PHP 当页面判断后无法保持刚输入的数据,空的。
<input name="username" type="text" value="<?=$_POST["username"]?>">
如果没启用 session,当提交到下一页进行数据检测后如果用 history.back(1) 返回上页,则除了密码类型 text 控件的其他表单控件都可以保持原有数据。如果提交页使用 session_start()开启会话,要保持数据则需:session_cache_limiter('private, must-revalidate')
session_start()