【问题标题】:How to make a html button lead to a php site?如何使一个 html 按钮指向一个 php 站点?
【发布时间】:2020-01-01 22:59:12
【问题描述】:

我正在根据用户是否登录动态创建按钮。

我正在尝试为 loginBtn 设置 onclick 功能,例如使用 location="login.php",但似乎没有这样做。

我也试过了:

$("#loginBtn").click(function(){
                $.ajax({
                    type:'POST',
                    url:'login.php'
                    success: function(data) {
                        alert(data);
                    }
                });
            });

但这也没有用。

这是创建按钮的代码:

window.onload = function () {
            var loggedIn = '<?php echo $_SESSION["loggedin"] ?>';
            //Set login buttons to register/login or logout
            if(loggedIn == 1)
            {
                document.getElementById("loginButtons").innerHTML = 
                '<button id="logoutBtn" type="button" class="btn btn-primary myButtons">Abmelden</button>'
            }
            else{
                  document.getElementById("loginButtons").innerHTML = 
                '<button id="regBtn" type="button" class="btn btn-primary myButtons" >Registrieren</button>'+
                '<button id="loginBtn" type="button" class="btn btn-primary myButtons" onclick="location="warungyoga.de/login.php"" >Anmelden</button>'

            }

当用户点击 Button 时,它应该只是指向没有任何 url 参数的页面。

【问题讨论】:

标签: javascript php html ajax session


【解决方案1】:

您需要等待设置单击事件侦听器,直到文档准备就绪。这是因为您要使用事件侦听器设置的元素是在页面加载后动态创建的(而不是作为初始 html 的一部分),并且没有立即准备好。

要等待文档准备好,请将这部分代码包装在:

$( document ).ready(function() { /* code here */ });

或者,您可以使用特定元素的选择器作为第一个参数来监听文档的点击:

$(document).click("#loginBtn",function(){ ...

其他一些小错误:

  • 您似乎缺少一个逗号(请参阅url:'login.php' 行)。
  • 使用 jquery 设置事件侦听器时,不需要“onclick”属性。

【讨论】:

    【解决方案2】:

    你在做什么:D

    `

    // If user logged set session id
    if(isUserLogged($email, $pass) > 0){
        // Set user id
        $_SESSION['user']['id'] = 1;
    }
    
    if($_SESSION['user']['id'] > 0){
        // user logged
        echo '<a href="/logout.php">LogOut</a>';
    }else{
        echo '<a href="/login.php">LogIn</a>';
    }
    ?>
    

    【讨论】:

      【解决方案3】:

      这里不需要使用Javascript,你可以设置一个基本的PHP条件语句,根据用户是否登录显示不同的链接:

      <?php
      $loggedIn = $_SESSION["loggedin"];
      
      if ($loggedIn == 1) {
        echo '<a id="loginBtn" class="btn btn-primary myButtons" href="/logout.php">Ausloggen</a>';
      } else {
        echo '<a id="loginBtn" class="btn btn-primary myButtons" href="/login.php">Anmelden</a>';
      }
      ?>

      【讨论】:

        猜你喜欢
        • 2012-12-04
        • 1970-01-01
        • 2011-02-21
        • 1970-01-01
        • 1970-01-01
        • 2021-07-18
        • 1970-01-01
        • 2011-02-13
        • 1970-01-01
        相关资源
        最近更新 更多