I have the following IF statement:
if (strpos($_SERVER['REQUEST_URI'], '/dev/mahjong/mahjong.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/dev/mahjong/mahjong.php') ) {
$style = "display: inline";
}
else {
$style = "display: none";
}
This works great. Now I wanted to show a Facebook login screen when $style = "display:inline";
So I figured, I make another IF with an AND, so IF display = inline AND user is NOT logged in, set $fb_login = "display: inline";
I've cooked up this code:
if (strpos($_SERVER['REQUEST_URI'], '/dev/mahjong/mahjong.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/dev/mahjong/mahjong.php') ) {
$style = "display: inline";
}
else {
$style = "display: none";
}
if ($style = "display: inline") && (!$user)) {
$fb_login = "display: inline";
}
else {
$fb_login = "display: none";
}
Problem is I get an error with this: Parse error: syntax error, unexpected T_BOOLEAN_AND
Also tried to use AND instead of && but it gave the same result. What am I doing wrong here?
=
) should be a comparison operator (==
))
)if ($style == "display: inline" && !$user) {
$fb_login = "display: inline";
}
You are missing a (
if (($style == "display: inline") && (!$user)) {
You're missing a bracket on this line
if ($style = "display: inline") && (!$user)) {
It should be
if (($style == "display: inline") && (!$user)) {
But you should ask yourself if you should approach this a different way. The code you've got is very specific to the output and you might be better for maintainability reasons doing your logic first then your display. Something like this:
if (strpos($_SERVER['REQUEST_URI'], '/dev/mahjong/mahjong.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/dev/mahjong/mahjong.php') ) {
$mahjongRequest = true;
}
else {
$mahjongRequest = false;
}
if ($mahjongRequest && (!$user)) {
$fb_login = true;
}
else {
$fb_login = false;
}
Also, you might want to review your initial IF statement. It's not entirely clear to me what you're trying to achieve and there may be a much simpler, more-readable way to do it.