ASP转换成PHP的变量问题

julia_yl 2007-04-07 05:14:34
--------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
...
...全文
299 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fufay 2007-04-14
  • 打赏
  • 举报
回复
q10
如果没启用 session,当提交到下一页进行数据检测后如果用 history.back(1) 返回上页,则除了密码类型 text 控件的其他表单控件都可以保持原有数据。

如果提交页使用 session_start()开启会话,要保持数据则需:

session_cache_limiter('private, must-revalidate')
session_start()
julia_yl 2007-04-14
  • 打赏
  • 举报
回复
New
----------Q10
ASP 当页面判断后仍然保持刚输入的数据
<input name="username" type="text" value="<$=request("username")?%>" size="15">

PHP 当页面判断后无法保持刚输入的数据,空的。
<input name="username" type="text" value="<?=$_POST["username"]?>">
mfzhao 2007-04-09
  • 打赏
  • 举报
回复
global
julia_yl 2007-04-09
  • 打赏
  • 举报
回复
$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次啊!
Fufay 2007-04-09
  • 打赏
  • 举报
回复
sorry,上面多了个 return. :)
Fufay 2007-04-09
  • 打赏
  • 举报
回复
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'] ;
}
----------------------------------------------------------------------------
wasuka 2007-04-09
  • 打赏
  • 举报
回复
global $a
julia_yl 2007-04-09
  • 打赏
  • 举报
回复
谢谢答复!
---------Q9
同Q6一样,换个方式描述
ASP
a=3
b=5
sub s1()
s=a+b //有效变量
end sub

PHP
a=3; //讲义中说明这是全局变量,对之后的参数均有效
b=5;
function s1(){
s=a+b; //无效变量,function s1($a,$b) 可以解决。但变量太多,能否像ASP一样直接引用
{
wasuka 2007-04-09
  • 打赏
  • 举报
回复
$_POST属于$_REQUEST,但并不等于
julia_yl 2007-04-08
  • 打赏
  • 举报
回复
谢谢,接着新问题如下
--------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 等变量值问题?
@仅能阻止某个变量忽略提示。
Fufay 2007-04-08
  • 打赏
  • 举报
回复
q6,如果在函数中要使用页面级全局变量,则需要使用 global 关键字或者使用 $_GLOBAL[xxx]超全局变量。
比如: global $mArray

q7,<meta name=description content=<?=mysql_result(mysql_query("select ... where ..."))?>/>

q8,设置 php.ini 中 display_error = no
julia_yl 2007-04-08
  • 打赏
  • 举报
回复
---------Q8 终于在这里找到答案 http://www.phpx.com/happy/thread-123371-1-1.html

如何设置PHP,使其不要总是提示Notice: Undefined variable: mArray 等变量值问题?
@仅能阻止某个变量忽略提示。

Fufay 2007-04-07
  • 打赏
  • 举报
回复
q4:
<td><a href=?menu=about&ID=<?=$ID?>><?=$mArray[0]?></a></td>
julia_yl 2007-04-07
  • 打赏
  • 举报
回复
谢谢,也就说
q5,调用数据库后,不必像ASP一样rs.close set rs = nothing 系统会自动关闭?
q4,是否应该这样写 <td><a href=?menu=about?ID=<?=$ID?>><?=$mArray[0]?></a></td>
Fufay 2007-04-07
  • 打赏
  • 举报
回复
q1:这是提示,不比理会。
q2、q3一样,你的PHP版本过低或者前页根本没有POST数据过来;
q4,语法混乱,不是笔误就是错误。
q5、mysql_free_result 一般不需要用户手动调用,系统会自动调用,并关闭数据库连接。如果你出现 "ot a valid mysql result resource"之类的信息即表明系统已经自动释放完成。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧