向登录和注销的用户显示不同的消息

时间:2017-06-22 08:13:07

标签: php html css login

2天内第3个帖子大声笑。 我想知道是否有人可以提供帮助。我想编辑以下代码,以便如果客户未登录,则文本显示“登录/注册”,如果他们已登录,则显示“我的帐户”

<div id="myaccount">
    <a href="wordpress/my-account"><img class="bottom" src="wp-
content/themes/mt_theme/images/my_account_hover.png" alt="My 
Account"/> 
<img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
alt="My Account"/>
        <p class="icotext">My Account</p>
    </a>
</div>

CSS:

#myaccount{
  position: relative;
  margin: 0 auto;
}
#myaccount img {
  position:absolute;
  left:900px;
  top: -20px;
  Height: 50px !important;
  width: 50px !important;
} 
a:hover img.top {
  opacity:0;
}
.icotext{
  position: absolute;
  left: 890px;
  top: 28px;
  color: #000000  
}
a:hover .icotext{
  font-weight: bold;
  left: 888px;
}

我见过像

这样的人
<?php
if ( is_user_logged_in() ) {
    echo 'Welcome, registered user!';
} else {
    echo 'Welcome, visitor!';
}
?>

但是,我不确定如何将回声“”置于与当前文本相同的位置并添加相同的效果。

7 个答案:

答案 0 :(得分:2)

编写如下代码:

<div id="myaccount">
    <a href="wordpress/my-account"><img class="bottom" src="wp-
content/themes/mt_theme/images/my_account_hover.png" alt="My 
Account"/> 
<img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
alt="My Account"/>
        <p class="icotext">
<?php
if ( is_user_logged_in() ) {
    echo 'Welcome, registered user!';
} else {
    echo 'Welcome, visitor!';
}
?>
       </p>
    </a>
</div>

或者您可以编写如下代码:

<p class="icotext"><?php echo (is_user_logged_in()?'Your online':'Hi visitor') ?></p>

答案 1 :(得分:0)

可能会有所帮助

<?php
if ( is_user_logged_in() ) {
    echo '<p class="icotext">'.'Welcome, registered user!'.'</p>';
} else {
    echo '<p class="icotext">'.'Welcome, visitor!'.'</p>';
}
?>

答案 2 :(得分:0)

我不是PHP大师,但你会把代码内联,放在标记本身。类似下面的代码块,这样你就可以有条件地显示你想要的东西。

<?php if(conditions): ?>
... HTML CODE ...
<?php endif; ?>

答案 3 :(得分:0)

您可以在代码中确定用户是否已登录,然后再插入正确的文本。例如:

<?php
$loginText = "";
if ( is_user_logged_in() ) {
    $loginText = "My Account";
} else {
    $loginText = "Login/Register";
}
?>

<div id="myaccount">
    <a href="wordpress/my-account"><img class="bottom" src="wp-
content/themes/mt_theme/images/my_account_hover.png" alt="My 
Account"/> 
<img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
alt="My Account"/>
        <p class="icotext"><?= $loginText ?></p>
    </a>
</div>

<?= ?>语法允许您在需要的位置插入变量。

答案 4 :(得分:0)

<div id="myaccount">
    <a href="wordpress/my-account"><img class="bottom" src="wp-
content/themes/mt_theme/images/my_account_hover.png" alt="My 
Account"/> 
<img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
alt="My Account"/>
        <p class="icotext">
        <?php
          if ( is_user_logged_in() ) {
            echo 'login/register';
          } else {
            echo 'My Account';
          }
        ?>
        </p>
    </a>
</div>

答案 5 :(得分:0)

首先检查用户是否登录的情况。要做到这一点,你可以

  

将Session设置为login并将Session_Login检查为boolean

现在检查它的运行

    if($SESSION_LOGIN){
        echo "<p class = "icotext">"."Welcome , registered user"."</p>";
    }else{
        echo "<p class = "icotext">"."Welcome ,visitor"."</p>";
    }

请务必先启动会话。

答案 6 :(得分:0)

您应该在html文件中创建一个代码块,该代码块根据用户的当前状态(登录/注销)返回当前消息。嗯,这不是解决这个“问题”的最佳方法,但这就是wordpress的方式。我们来举个例子:

<?php 
  if(isset($_SESSION['user_token'])){
?>

 <div id="myaccount">
 <a href="wordpress/my-account"><img class="bottom" src="wp-
    content/themes/mt_theme/images/my_account_hover.png" alt="My 
      Account"/> 
 <img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
 alt="My Account"/>
    <p class="icotext">My Account</p>
 </a>
</div>

<?php } else { echo "Logged out user message here"; } ?>

鉴于您正在使用wordpress,这是您的最佳方法。