Javascript 如何在用户登录后立即向ul添加li

Javascript 如何在用户登录后立即向ul添加li,javascript,php,html,css,dom,Javascript,Php,Html,Css,Dom,我不熟悉这个表格,如果我把问题解释错了,很抱歉 假设您有一个基本的登录表单,它使用会话来登录和注销用户。列表是预先创建的,样式只是由boostrap类控制。因此,如果您希望在用户登录时,将一个可点击的li添加到ul的末尾,并应用与ul中其他现有li相同的css。你会怎么做?并在用户注销时从ul中删除该页面 我想得到的是,只有当用户登录时,我的菜单上才会有额外的页面 背景 我做了一些研究,也读了一些关于DOM的文章,但问题是我试图将css应用到DOM中,使其与其他页面保持一致,但它似乎非常有效。

我不熟悉这个表格,如果我把问题解释错了,很抱歉

假设您有一个基本的登录表单,它使用会话来登录和注销用户。列表是预先创建的,样式只是由boostrap类控制。因此,如果您希望在用户登录时,将一个可点击的li添加到ul的末尾,并应用与ul中其他现有li相同的css。你会怎么做?并在用户注销时从ul中删除该页面

我想得到的是,只有当用户登录时,我的菜单上才会有额外的页面

背景

我做了一些研究,也读了一些关于DOM的文章,但问题是我试图将css应用到DOM中,使其与其他页面保持一致,但它似乎非常有效。
下面是我尝试这样做的例子

<?php
     if(isset($_SESSION['user']))
     {
         echo " <script>
             function myFunction() {
                 var node = document.createElement(\"LI\");
                 var textnode = document.createTextNode(\"Water\");
                 node.appendChild(textnode);
                 document.getElementById(\"list\").appendChild(node);
                 document.getElementById(\"list\").style.color=\"red\";

             }
             window.onload=myFunction();

         </script>";

这里不需要任何JavaScript;您只需要有PHP echo附加行:

$loggedIn = isset($_SESSION['user']);  // store logged state
稍后,在HTML中,只需根据状态添加元素:

<ul>
  <li>...</li>
  <li>...</li>
  <li>...</li>
  <li>...</li>
  <?php if ($loggedIn) { ?>
  <li><a href="members">members only</a></li>
  <?php } ?>
</ul>
还有其他方法可以实现这个结果,比如

<?php if ($loggedIn) echo "<li>...</li>"; ?>

我觉得你在尝试创建登录按钮?或者操纵项目列表?ul(无序列表)li(列表项)

我会找到一种安全的方法来存储登录信息。(数据库访问?)
然后在php文件中检查用户是否已登录。
如果用户已登录,则查找当前列表项。

Javascript
document.getElementById(“菜单登录按钮”)尝试查找登录按钮。然后,您可以将文本从“注销”更改为“登录”,也可以更改它所指向的href。等等。

您试图解决这个问题的地方在哪里?另外,这是一种非常不安全的方法,可以阻止用户访问额外的页面。我们总是很乐意帮助和支持新的编码人员,但您需要首先帮助自己。:-)如果您有问题,请发布您尝试过的内容,并清楚解释哪些内容不起作用,然后提供。读一个好问题。一定要认真阅读。