--------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
...

解决方案 »

  1.   

    q1:这是提示,不比理会。
    q2、q3一样,你的PHP版本过低或者前页根本没有POST数据过来;
    q4,语法混乱,不是笔误就是错误。
    q5、mysql_free_result 一般不需要用户手动调用,系统会自动调用,并关闭数据库连接。如果你出现 "ot a valid mysql result resource"之类的信息即表明系统已经自动释放完成。
      

  2.   

    谢谢,也就说
    q5,调用数据库后,不必像ASP一样rs.close set rs = nothing 系统会自动关闭?
    q4,是否应该这样写 <td><a href=?menu=about?ID=<?=$ID?>><?=$mArray[0]?></a></td>
      

  3.   

    q4:
    <td><a href=?menu=about&ID=<?=$ID?>><?=$mArray[0]?></a></td>
      

  4.   

    谢谢,接着新问题如下
    --------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 等变量值问题?
    @仅能阻止某个变量忽略提示。
      

  5.   

    ---------Q8 终于在这里找到答案 http://www.phpx.com/happy/thread-123371-1-1.html如何设置PHP,使其不要总是提示Notice: Undefined variable: mArray 等变量值问题?
    @仅能阻止某个变量忽略提示。
      

  6.   

    q6,如果在函数中要使用页面级全局变量,则需要使用 global 关键字或者使用 $_GLOBAL[xxx]超全局变量。
    比如: global $mArrayq7,<meta name=description content=<?=mysql_result(mysql_query("select ... where ..."))?>/>q8,设置 php.ini 中 display_error = no
      

  7.   

    $_POST属于$_REQUEST,但并不等于
      

  8.   

    谢谢答复!
    ---------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一样直接引用
    {
      

  9.   

    q6,php与ASP在变量作用域上有些不同,ASP函数里可以直接使用页面级变量,而在PHP中则不行,需要使用 global 关键字才可以使用。
    ----------------------------------------------------------------------------
    $a = 3;
    $b = 5;
    function s1()
    {
         global $a,$b;
         return $a+$b;
    }
    ----------------------------------------------------------------------------
    或者直接使用全局数组$GLOBALS(sorry,在上面的解答中,这里有笔误。):
    function s1()
    {
         return $GLOBALS['a'] + return $GLOBALS['b'] ;
    }
    ----------------------------------------------------------------------------
      

  10.   

    sorry,上面多了个 return. :)
      

  11.   

    $a = 3;
    $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次啊!
      

  12.   

    New
    ----------Q10
    ASP 当页面判断后仍然保持刚输入的数据
    <input name="username" type="text" value="<$=request("username")?%>" size="15">PHP 当页面判断后无法保持刚输入的数据,空的。
    <input name="username" type="text" value="<?=$_POST["username"]?>">
      

  13.   

    q10
    如果没启用 session,当提交到下一页进行数据检测后如果用 history.back(1) 返回上页,则除了密码类型 text 控件的其他表单控件都可以保持原有数据。如果提交页使用 session_start()开启会话,要保持数据则需:session_cache_limiter('private, must-revalidate')
    session_start()