【发布时间】:2016-03-27 05:36:05
【问题描述】:
我正在处理一封电子邮件,一旦我的数据库中的帐户访问/状态发生更改,该电子邮件将被发送出去。但是,我似乎无法让下面这个简单的 IF 语句起作用。我通过在 AND 和 && 之间切换来玩弄语法,但在这里找不到问题。
$email_message = "
<h1>User Account Update</h1><hr>
User <b>".$_SESSION['myusername']."</b> has just made changes to the following user account:<br>
<br>
Date: ".date("Y-m-d H:i:s", strtotime('+13 hours'))." (UTC+8)<br>
User: ".$user."<br>
<b>Action: ".str_replace("_"," ",$action)."</b><br>
<br>
Updated Access: ".if($action == "change_access" AND $access == "User") { echo "Admin"; } else { echo "User"; }."<br>
Updated Status: ".if($action == "change_status" AND $status == "Active") { echo "Inactive"; } else { echo "Active"; }."<br>
<hr>
If you suspect suspicious activity, you can suspend the account by following the link below:
";
if语句出现在字符串中时有什么特殊语法吗?
Updated Access: ".if($action == "change_access" AND $access == "User") { echo "Admin"; } else { echo "User"; }."<br>
Updated Status: ".if($action == "change_status" AND $status == "Active") { echo "Inactive"; } else { echo "Active"; }."<br>
编辑: 关于逻辑: 每当特权用户(管理员帐户)更改另一个用户的帐户状态或访问权限时,都会触发电子邮件警报。 用户 ACCESS 为“Admin”或“User”,用户 STATUS 为“Active”或“Inactive”。该消息告诉我受影响的帐户以及这两个变量的先前和当前状态。
【问题讨论】:
-
你能解释一下你的情况背后的逻辑吗?比如“Admin”和“Inactive”是什么情况?
-
你的代码在这么长的块里很难跟上……
-
请参阅 Adam Azad 的回答,以获得更好的方法。将您的逻辑决策与构建电子邮件正文分开,否则将很难看到您的代码发生了什么。
标签: php if-statement