JQUERY - .html() 也可以查看 php


JQUERY - .html() can also view php

以下脚本使用 ajax 发送数据以进行登录

我想格式化返回的数据,本质上是使用会话变量($ _SESSION)

我能做到

 $("#login").click(function(){
username=$("#user_name").val();
password=$("#password").val();
 $.ajax({
    type: "POST",
    url: "inc/login.inc.php",
    data: "username="+username+"&password="+password,
    success: function(msg){
      if(msg!='false')
      {
        $("#login_form").fadeOut("normal");
        $("#shadow").fadeOut();
        $("#profile").html("<'?php print('"$_SESSION['name'].'" <a href='inc'/logout.inc.php' id='logout'>Logout k2<'/a>'");'?>");
        //valori menù
        if(tipo=='1')
        {$("#admin").css('display','none')}
      }
      else
      {
            $("#add_err").html("Username o password errata");
      }
    },
    beforeSend:function()
    {
         $("#add_err").html("<img hspace='84' src='img/loading.gif' alt='Loading...'  width='32' height='32'>" )
    }
});
 return false;

});

特别是这是可能的,以这种方式将打印刚刚登录的用户的名称。 否则我不知道该怎么做

$("#profile").html("<'?php print('"$_SESSION['name'].'" <a href='inc'/logout.inc.php' id='logout'>Logout k2<'/a>'");'?>");
脚本

处理完毕后,无法插入 PHP 代码。

要么通过 ajax 拉入它,要么将实际的 PHP 输出包含在你的 JavaScript 中。

即,在页面中.php

   <script>
       var sessionName = '<?php echo $_SESSION['name']; ?>';
   </script>

然后当你以后需要它时

 $("#profile").html(sessionName + " <a href='"inc/logout.inc.php'" id='"logout'">Logout k2</a>");

JavaScript 是客户端的,它根本无法执行你的 php 代码。

您必须在 ajax 请求中使用的 php 文件中返回一些内容(例如用户名),并在 JS 中使用它。

有关示例,请参阅 jQuery ajax 文档。

你需要提供 php 代码:

$("#profile").load("inc/login-header.inc.php");

login-header.inc.php

<?php
  print($_SESSION['name'] . " <a href='inc/logout.inc.php' id='logout'>Logout k2</a>");
?>

将信息从 php 脚本发送回 javascript 的最简单方法是使用 msg 变量

success: function(msg){

如果你只想发回一个字符串,你只需在你的php文件中echo那个字符串,你的值就会在msg。如果要发回多个变量,可以将结果打包在 json 对象中。

因此,假设您要发回的所有内容都包含在名为 $output 的 php 数组中,您可以在 php 脚本的末尾执行echo json_encode($output);msg获取整个内容。

行不通,因为PHP代码永远不会被处理。

login.inc.php尝试这样的事情

<?php
if (!loginOK()){
     echo "{login:false}";
} else {
     echo "{login:true, name:'".$_SESSION['name']."'}";
}

然后在客户端上

success: function(msg){
    if (msg.login){
       // stuff
    } else {
       $("#profile").html(msg.name + $('<a>').attr('href', 'logout.php').html('logout'));
    }
}
相关文章: