选择判断,你知道?

ssm1226 2002-05-09 11:28:03
由上页传过username,$isCheck为空,
所以执行第二个判断,
从ForEmailReg.asp执行完后返回,$isCheck=ok
问题:
为什么只执行else的程序,无论如何都不执行首选条件

=======================================================

<?php
require("../connection.php");
if(empty($username)) header("Location: p02.php"); //(1)

if($isCheck=='') //(2)
header("Location: http://sss/dddd/add/ForEmailReg.asp?username=$username");

if($isCheck=='ok'){
$querystring="select pw_name from vpopmail where pw_name=$username";
$result=mysql_query($querystring,$dbh);

if($result){
header("Location: p02-1.php");
}else{
header("Location: p03.php?username=$username");}

}else{
header("Location: p02-1.php");
}
?>
...全文
53 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssm1226 2002-05-10
  • 打赏
  • 举报
回复
没人吗,帮忙解释一下



★★★一起去淋雨★★★

benjamin9 2002-05-09
  • 打赏
  • 举报
回复
在执行判断if($isCheck=='ok')时,$isCheck的值还是 ''
因为从ForEmailReg.asp执行完后返回时$isCheck=''也就是说,执行header("Location: http://sss/dddd/add/ForEmailReg.asp?username=$username");语句使得页面重定位,在重定位后的ForEmailReg.asp里的变量$isCheck只在ForEmailReg.asp里有效(虽然变量同名),但返回后原来页面的$isCheck还是原有值,即空值
ssm1226 2002-05-09
  • 打赏
  • 举报
回复
没人会吗?
php版怎么会这样?
cnnps 2002-05-09
  • 打赏
  • 举报
回复
研究。。
ssm1226 2002-05-09
  • 打赏
  • 举报
回复
<?php
require("../connection.php");
if(empty($username)) header("Location: p02.php");

if(isset($isCheck) && $isCheck=='') header("Location: http://www.sss.com.cn/register/add/ForEmailReg.asp?username=$username"); //******************************

echo $isCheck;
exit; //@@@@@@@@@@@@@@@@@@@@@@

$querystring="select pw_name from vpopmail where pw_name=$username";
$result=mysql_query($querystring,$dbh);

if($result){
header("Location: p02-1.php");

}else{
header("Location: p03.php?username=$username");
}
?>
郁闷,加@@@@@@@@@@@@的地方,有那两句,则会转向http://www.sss.com.cn/register/add/ForEmailReg.asp(标**************的地方)

没有则不执行!!!!!!!!!!!

☆☆☆☆☆一起去淋雨☆☆☆☆☆
ssm1226 2002-05-09
  • 打赏
  • 举报
回复
可以使用
echo "test";
exit;
判断不管$isCheck为何值都只执行else

另外前面所说的
是这样:
if($isCheck=='ok'){
$querystring="select pw_name from vpopmail where pw_name=$username";
$result=mysql_query($querystring,$dbh);

if($result){
header("Location: p02.php");0D }else{
header("Location: p03.php?username=$username");}

}else{
header("Location: p02-1.php");
}
echo $isCheck; //**************注意
exit; //**************有此,程序执行正确,为什么


☆☆☆☆☆一起去淋雨☆☆☆☆☆
alexxing 2002-05-09
  • 打赏
  • 举报
回复
首先,不明白你是怎么知道只执行else没执行if的
如果
$result=mysql_query($querystring,$dbh);
成功,就会执行if($result)后面的
header("Location: p02-1.php");
跟else后的
header("Location: p02-1.php");
完全一样,如何区分?
另外,你的exit语句是加在哪里的?
先把的问题表达清楚,别人才好判断。
ssm1226 2002-05-09
  • 打赏
  • 举报
回复
没人?
ssm1226 2002-05-09
  • 打赏
  • 举报
回复
试了,无效:(

最令我郁闷的是:
在if判断后,加入
exit;后竟然正确,
不知道为什么。
benjamin9 2002-05-09
  • 打赏
  • 举报
回复
返回后,进行if判断前,先对变量进行截空操作(trim)试试
ssm1226 2002-05-09
  • 打赏
  • 举报
回复
最为令我奇怪的是:
如果我在最后一个if完后,加入代码:
echo $isCheck;
exit;
竟然执行正确,但去掉后,
执行错误,
郁闷!
ssm1226 2002-05-09
  • 打赏
  • 举报
回复
不会,返回时,用url传的参数 aaa.php?isCheck=ok,ischeck="ok"
ssm1226 2002-05-09
  • 打赏
  • 举报
回复
不会,返回时,用url传的参数 aaa.php?isCheck=ok,ischeck="ok"

21,886

社区成员

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

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