登录后在页面上显示全名

时间:2012-05-15 00:55:51

标签: php javascript

我需要在用户登录后在网页上的某个位置显示用户的全名(最好在同一侧边栏中)。到处都看,我被困在javascript和html的起点。这是我到目前为止登录表单的代码。

<div id="sidebar-wrapper">
     <div id="sidebar">
     <h3>Login</h3>
     <form name="form1" action="#">
     <ul id="sidenotes">
     <form name="form1" action="tryjsref_form_onsubmit.htm" onsubmit="return allnumeric(uage);greeting()" method="post">

First Name: <input type="text" name="fname" size="25"/><br/>
Last Name: <input type="text" name="lname" size="25" value= ""/><br/>
Age: <input type="text" name="text1" size="25" value=""/><br/>
     <p><input type="submit"name="submit"value="Submit"onclick="allnumeric(document.form1.text1); greeting()"/> 
 </p>
</form>
       </ul>
      </div> 

1 个答案:

答案 0 :(得分:0)

我不知道如何使用Java作为预处理器,但基本的想法是:

  1. 使用Java从POST中获取信息
  2. 将此存储在持久性的地方(在PHP中我使用会话信息,Java可能会有类似的东西)
  3. 每次用户访问另一个页面时,请从持久性存储中提取其名称并将其插入侧栏。
  4. 如果你的意思是Javascript而不是Java,那么事情会有所不同(我不确定 是否是Javascript中的持久存储),但我希望这会有所帮助。如果你是用PHP做的,我可以写一个快速的脚本来演示。如果你愿意,我仍然可以,它可能会有所帮助。

    修改

    我将此添加到评论中,但我没有空间。无论如何,我写了PHP脚本(花了很多时间想知道为什么我得到500错误,结果我忘记了一个紧密的括号)。这不是javascript,但它有望帮助您编写代码,因为它具有相同的基本概念。您可以在生产here中找到该脚本。来源:

    <?php
    session_start(); // Start the session so we can use session variables
    
    if(isset($_POST['first_name'])) // Assume that if the user filled out their first name they filled out everything
    {
        // Assign values based off the POST values
        $_SESSION['first_name'] = $_POST['first_name'];
        $_SESSION['last_name'] = $_POST['last_name'];
        $_SESSION['age'] = $_POST['age'];
        $_SESSION['loggedin'] = true; // Used to tell if the user's logged in or not
    }
    
    $first_name = $_SESSION['first_name']; // Read the first name from session data
    $last_name = $_SESSION['last_name']; // Read the last name from session data
    $age = $_SESSION['age']; // Read the age from session data
    $loggedin = $_SESSION['loggedin'];
    
    if(!$loggedin) // If the user isn't logged in, display the login form
    {
    ?>
    <html>
    <head>
    <title>Test script</title>
    </head>
    <body>
    <form action="test.php" method="post">
    First Name: <input type="text" name="first_name" />
    Last Name: <input type="text" name="last_name" />
    Age: <input type="text" name="age" />
    <input type="submit" />
    </form>
    <?php
    }
    else // Otherwise, say hello!
    {
        echo "Hello, " . $first_name . " " . $last_name . "! You are " . $age . " years old!";
    }
    ?>
    </body>
    </html>
    

    它的作用是在PHP中启动会话并将值存储在那里。你似乎熟悉POST是什么,所以我只是说$ _POST存储通过POST发送的值。 $ _SESSION是会话数据的数组。这两个都是关联数组,因此它们存储基于关键而不是位置(即$ a [&#39; hello&#39;] vs $ a [2])。在它启动会话后,它会从POST读取值到会话数据,然后从会话数据读取到本地变量(不是最好的方法,但它适用于演示)。然后,它会根据用户是否登录来显示问候语或登录表单。

    这个想法可以应用于带有cookie的Javascript。我真的不熟悉Javascript,所以我不知道代码会有多少帮助,所以我会将您链接到This tutorial上的Cookie。我们的想法是在页面加载时检查cookie,如果没有设置则设置它,如果设置了则加载数据。它不应该太难做,特别是如果你可以使用我的代码来帮助你。