0

ユーザーがログインした後、Webページのどこかにユーザーのフルネームを表示する必要があります(できれば同じサイドバーに)。どこを見ても、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> 
4

1 に答える 1

0

Javaをプリプロセッサとして使用する方法がわかりませんが、基本的な考え方は次のとおりです。

  1. Javaを使用してPOSTから情報を取得します
  2. これを永続的な場所に保存します(PHPではセッション情報を使用します。Javaにはおそらく似たようなものがあります)
  3. ユーザーが別のページにアクセスするたびに、永続ストアから名前を取得してサイドバーに挿入します。

JavaではなくJavascriptを意味する場合は、状況が異なります(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を確認し、設定されていない場合は設定し、設定されている場合はそこからデータを読み込むという考え方です。特に私のコードを使ってあなたを助けることができれば、それはそれほど難しいことではないはずです。

于 2012-05-15T01:05:48.580 に答える