登录后更改标签的文本和href

时间:2016-08-15 11:11:19

标签: php jquery html

<li><a href="login.php" class="changelogin" title="Log In">Log In</a></li>

此链接将转到登录页面,我将登录但登录后应将文本更改为“profile”和href =“userwork.php”。

<?php
    session_start();
    if (isset($_SESSION['email'])) 
    {    
        echo "<script type='text/javascript'>";
        echo "$('.changelogin').text('Profile')";
        echo "$('.changelogin').attr('href', 'userwork.php')";
        echo "</script>";
    }
?>

3 个答案:

答案 0 :(得分:1)

为什么不做这样的事情?

<?php 
if (isset($_SESSION['email'])) {
    echo '<li><a href="userwork.php" title="Profile">Profile</a></li>';
} else {
    echo '<li><a href="login.php" title="Log In">Log In</a></li>';
}
?>

答案 1 :(得分:0)

试试这个。

<li>
<a href="<?php echo  isset($_SESSION['email']? 'userwork.php' : 'login.php'; ?>"
       class="changelogin"
       title="<?php echo  isset($_SESSION['email']?'profile':'Log In'; ?>"
       ><?php echo  isset($_SESSION['email']?'profile':'Log In'; ?></a>
</li>

答案 2 :(得分:0)

@Damien解决方案很简单,如果你仍然希望通过使用jQuery来实现这一点,那么:

<?php
    // your session start
    session_start();    
?>

<input type="hidden" name="is_session" id="is_session" value="<?=(isset($_SESSION['email']) ? 1 : 0)?>">
<li><a href="login.php" class="changelogin" title="Log In">Log In</a></li>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>  
<script type="text/javascript">
    $(document).ready(function(){
        var is_session = $("#is_session").val();
        if(is_session == 1){
            $('.changelogin').text('Profile');
            $('.changelogin').attr('href', 'userwork.php');
        }
    });
</script>

在此示例中,您可以将会话值存储到隐藏的输入字段中,并在页面加载后使用jQuery使用它。