2012-05-15 53 views
0

我需要在用戶登錄後(最好在同一側欄中)在網頁的某個位置顯示用戶的全名。到處尋找,並堅持從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> 
+0

您使用哪種框架來使用Java生成HTML? –

回答

0

我不知道如何使用Java作爲一個預處理器,但其基本思想將是這樣的:

  1. 用Java從POST抓住信息
  2. 商店這個地方持久(在PHP中,我使用會話信息,Java可能會有類似的東西)
  3. 每次用戶訪問另一個頁面時,從持久存儲中取出其名稱並將其插入側邊欄。

如果你的意思的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 ['hello'] vs $ a [2])。在開始會話之後,它會從POST中讀取會話數據的值,然後從會話數據讀取局部變量(不是執行任務的最佳方式,但可用於演示)。然後根據用戶是否登錄來顯示問候語或登錄表單。

同樣的想法可以應用於使用cookie的Javascript。我真的不熟悉Javascript,所以我不知道代碼會有多少幫助,所以我會通過cookie將您鏈接到This tutorial。這個想法是在頁面加載時檢查cookie,如果沒有設置,就設置它,如果設置了,則從它加載數據。這不應該太難,特別是如果你可以使用我的代碼來幫助你。

+0

對不起,我的意思是javascript!如果你能寫出一個快速的演示腳本,那將是美好的,恐怕我是一個絕對的新手,所以任何幫助將不勝感激。 – Angela

+0

@Angela我已更新我的帖子,以獲取更多信息。這是一堵牆,但其中大部分是PHP腳本,所以它不像看起來那麼令人生畏:P – demize

+0

謝謝你這麼多!我從來沒有使用PHP之前,這是否意味着去在HTML文件或在一個單獨的文件保存爲test.php?當我在登錄表單中輸入詳細信息時,它似乎將我重定向到一個頁面,該頁面顯示'該文件夾中沒有文件' – Angela