dongshanni1611 2014-05-21 10:37
浏览 37
已采纳

无需手动刷新页面即可将登录更改为注销

I have some issues with my login progress. It logins but it doesn't change the login button to a logout button without manually refreshing the page.

I have a one page jquery plugin that makes the page compact although it doesn't isolate each script from each section.

Here's my page; http://adam-norbacker.ostersjo.nu/

Username: test Password: password

now here's the plugins and scripts that makes sense about the problem: https://github.com/davist11/jQuery-One-Page-Nav

Login/logout button:

<div id="menu" class="default">
<ul id="nav">
<?php 
session_start();
if(isset($_SESSION['username'])){
    $content_hash_name = $_GET['menu'];
    if($content_hash_name == 'section-8');
    echo "<li><a href='logout.php' class='external'>logout</a></li>";
}else{
    echo "<li><a href='#section-8'>login</a></li>";
        }
    ?>
</ul>
</div>

Login script:

  <?php 
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST' ) {

$username = trim(htmlentities(mysql_real_escape_string($_POST['username'])));
$password = trim(htmlentities(mysql_real_escape_string($_POST['password'])));
if (!empty($username) && !empty($password)) {
    $_SESSION['username'] = $username;
    echo "<br/> welcome ", $username;
     } else {
    echo "Please enter correct username or password";
     }   
} else {
    echo "please Login";
}
?>
<h1>Login</h1>
<form action="" onSubmit="" method="post">
<label>User Name :</label>
<input type="text" name="username" /><br />
<label>Password</label>
<input type="password" name="password" /><br />
<input type="submit" value="Login" name="submit"/>
</form>
</div>
  • 写回答

3条回答 默认 最新

  • doupixian1436 2014-05-21 11:37
    关注

    The only way to do it is using Javascript, because the PHP code will already be parsed.

    The easiest way is to use jQuery and do an AJAX call to a PHP page. Here's the code:

    <script type="text/javascript">
    $(document).ready(function(){
    
        $("#loginBtn").click(function(){
            var username = $("#username").val();
            var password = $("#password").val();
            $.ajax({
                url: 'login.php',
                type: 'POST',
                data:  {username: username, password: password},
                dataType: 'json',
                success: function(response){
                    // Success
                    $("#loginBtn").hide();
                    $("#logoutBtn").show();
                },
                error: function(response){
                    // Error
                }          
            });
            return false;
        });
    
        $("#logoutBtn").click(function(){
            $("#logoutBtn").hide();
            $("#loginBtn").show();
            return false;
        });
    
    });
    </script>
    
    <input type="text" value="" id="username" />
    <input type="password" value="" id="password" />
    <button id="loginBtn">Login</button>
    <button id="logoutBtn" style="display:none;">Logout</button>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)