如何使警报在php中工作
在my member.php页面中,我有以下警报:如何使警报在php中工作,php,http-headers,alerts,Php,Http Headers,Alerts,在my member.php页面中,我有以下警报: if (isset($_GET['success']) == 'no') { echo"<script type=\"text/javascript\">". "alert('You can't remove any more services! Please contact admin if you would like your account disabl
if (isset($_GET['success']) == 'no')
{
echo"<script type=\"text/javascript\">".
"alert('You can't remove any more services! Please contact admin if you would like your account disabled');".
"</script>";
}
if (isset($_GET['success']) == 'yes') {
echo"<script type=\"text/javascript\">".
"alert('Your details have been updated!');".
"</script>";
}
无论我如何编辑警报,警报
“您的详细信息已更新!”代码>是执行的全部内容。在URL中,我可以看到success=no
,因此我不明白它为什么不工作。您的第一个块有语法错误;您需要转义单引号,因为字符串是单引号
请注意此处突出显示的语法:
alert('You can't remove any more services! Please contact admin if you would like your account disabled');
逃脱:
alert('You can\'t remove any more services! Please contact admin if you would like your account disabled');
但是,警报是:
- 烦人的
- 传达重要信息的糟糕方式
只需在页面中将消息添加为
s,然后将其样式化或使用JavaScript弹出即可。容易接近,不那么令人沮丧
此外,将isset
的结果与某些内容进行比较通常是错误的,而且您做了两次。看起来应该是这样的,总而言之:
if (!isset($_GET['success']) || $_GET['success'] === 'no') {
echo '<script type="text/javascript">',
'alert("You can\'t remove any more services! Please contact admin if you would like your account disabled");',
'</script>';
}
else {
echo '<script type="text/javascript">',
'alert("Your details have been updated!");',
'</script>';
}
if(!isset($\u GET['success'])|$\u GET['success']='no'){
回音“,
'警报(“您无法删除任何其他服务!如果您希望禁用您的帐户,请与管理员联系”);',
'';
}
否则{
回音“,
“警报(“您的详细信息已更新!”);”,
'';
}
注意我是如何在那里交换引号的;否则,您将不得不逃避两次;您需要转义单引号,因为字符串是单引号
if (isset($_GET['success']) == 'no')
请注意此处突出显示的语法:
alert('You can't remove any more services! Please contact admin if you would like your account disabled');
逃脱:
alert('You can\'t remove any more services! Please contact admin if you would like your account disabled');
但是,警报是:
- 烦人的
- 传达重要信息的糟糕方式
只需在页面中将消息添加为
s,然后将其样式化或使用JavaScript弹出即可。容易接近,不那么令人沮丧
此外,将isset
的结果与某些内容进行比较通常是错误的,而且您做了两次。看起来应该是这样的,总而言之:
if (!isset($_GET['success']) || $_GET['success'] === 'no') {
echo '<script type="text/javascript">',
'alert("You can\'t remove any more services! Please contact admin if you would like your account disabled");',
'</script>';
}
else {
echo '<script type="text/javascript">',
'alert("Your details have been updated!");',
'</script>';
}
if(!isset($\u GET['success'])|$\u GET['success']='no'){
回音“,
'警报(“您无法删除任何其他服务!如果您希望禁用您的帐户,请与管理员联系”);',
'';
}
否则{
回音“,
“警报(“您的详细信息已更新!”);”,
'';
}
注意我是如何在那里交换引号的;否则,你就得逃避两次
if (isset($_GET['success']) == 'no')
将始终为false,因为isset($\u GET['success'])为true或false,并且与字符串“no”相比,整个表达式的计算结果将为false
换成
if (isset($_GET['success']) && $_GET['success'] == 'no')
就像阿卡姆在对你的问题的第一次评论中正确陈述的那样
将始终为false,因为isset($\u GET['success'])为true或false,并且与字符串“no”相比,整个表达式的计算结果将为false
换成
if (isset($_GET['success']) && $_GET['success'] == 'no')
就像akam在你问题的第一条评论中正确陈述的那样。如果你将success改为1和0,而不是yes和no,那么你就可以
if ($_GET['success'])
如果您将success改为1和0,而不是yes和no,那么您就可以
if ($_GET['success'])
更改您的条件:if(isset($\u GET['success'])和&$\u GET['success']='no')
更改您的条件:if(isset($\u GET['success'])和&$\u GET['success']='no')