繁体   English   中英

登录后在页面上显示全名

[英]Display full name on page after log in

用户登录后(最好在同一侧边栏中),我需要在网页上的某处显示用户的全名。 到处都看过,并被困在从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> 

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

  1. 使用Java从POST获取信息
  2. 将此存储在持久的位置(在PHP中,我将使用会话信息,而Java可能会有类似的东西)
  3. 每次用户访问另一个页面时,请从持久性存储中提取其名称并将其插入到侧边栏中。

如果你的意思的Javascript,而不是比Java的东西将是不同的(我不知道在Javascript持久性存储),但我希望这会有所帮助。 如果您使用PHP进行操作,则可以编写一个快速脚本进行演示。 如果您愿意,我仍然可以,它可能会有所帮助。

编辑:

我会将其添加到评论中,但是我没有空格。 无论如何,我写了PHP脚本(花了很多时间想知道为什么为什么会出现500错误,结果却忘记了括号)。 这不是javascript,但由于它是相同的基本思想,因此有望帮助您编写代码。 您可以在此处找到生产中的脚本。 来源:

<?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 ['hello']与$ a [2])。 在启动会话后,它将从POST读取值,再从会话数据中读取值,然后再从会话数据中读取值到局部变量(这不是最好的处理方式,但可用于演示)。 然后根据用户是否登录显示问候语或登录表单。

可以将相同的想法应用于带有cookie的Javascript。 我真的不熟悉Javascript,所以我不知道仅代码会有多大帮助,因此将您链接到 Cookie 教程 这个想法是在页面加载时检查cookie,如果未设置,则设置它,如果设置,则从中加载数据。 这样做并不难,特别是如果您可以使用我的代码来帮助您的话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM