ログイン画面の入力値を、遷移先の画面で使用したい

このQ&Aのポイント
  • ログイン画面で入力された値を、遷移先の画面で変数に入れて使用する方法を教えてください。
  • メンバーシップフレームワークを使用しているため、ログインユーザーのID値を遷移先の画面で取得する方法について悩んでいます。
  • ログイン画面の入力値を遷移先の画面で使用するためには、どのような記述が必要なのでしょうか?
回答を見る
  • ベストアンサー

ログイン画面の入力値を、遷移先の画面で使用したい

お世話になります。 作業機のOSは WinXP(x86) VWD2010Expressを使用し、VB.net開発をしております。 メンバーシップフレームワークを使用し、 メンバーサイトの作成をしているのですが ログインユーザーのID値を、ログイン先の画面の.vbで どうやって変数に取得すれば良いのか悩んでおります。 画面遷移は Login.aspx ⇒ main.aspx main.aspx側で <asp:LoginName ID="LoginName1" runat="server" FormatString="userID={0}"/> と、記述することで、ログイン画面で入力したID値を取る事ができています。 (例. userID=64 ) この値をどうやって.vbファイル内のオンロードイベントや、 ボタンクリックのイベントなどで使用する変数に代入する事ができるでしょうか。 Dim str1 As String = LoginName1.FormatString と、いった記述で取れそうにも思えるのですがタグエラーとなります。 http://okwave.jp/qa/q3611553.html こちらのスレッドでは、サーバータグの値を取ることはできない、と 書かれていますが、ログインユーザーの情報を元にテーブル参照時の 条件として使用するなど、よくやることに思えるので、 何か他に考え方、やり方があるのではないかと思いまして相談致します。 ログイン画面で入力された値を、遷移先の画面で変数に入れて使用する、 その方法をどうか教えてください。何卒よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • onos
  • ベストアンサー率81% (127/155)
回答No.2

標準のメンバーシップの機能を使っているんだと思います。 この場合 HttpContext.Current.User.Identity.Name に、ユーザー名が設定されていますので、この値を使えばいいと思います。 LoginNameコントロールはこの値を取得して表示するコントロールだと思えばよいかと。

wendy0303
質問者

お礼

回答、ありがとうございます。 どれがテキストボックス内に記入された値なのか判らず、 バラバラにしてしまったログインフォームを見てさらに判らなくなってしまい… 教えていただけました書き方、取り方を試しましてなるほどと納得できました。 ログイン先の画面への値渡しは、mnadeさまの回答より実現できております。 ありがとうございました。

その他の回答 (1)

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

セッションを使う方法を考えてみたらどうでしょうか? Session("LoginID") = userID; の様に設定して、 遷移先で、 Session("LoginID") を見れば使う事が出来ます。 詳しくは、サイトなりで調べてみてください。

wendy0303
質問者

お礼

回答、ありがとうございます。 今回、画面間の値渡しの前の ログイン画面で入力された値の取得に躓いておりました。 onos様のアドバイスのおかげで値の取得が出来まして、 ログイン後の画面へは教えて頂きましたセッション変数の使用で 目的を果たすことが出来ました。 どうもありがとうございました。

関連するQ&A

  • ログイン画面作成

    ASP.NETの初心者ですが、ログイン画面の作成取り掛かっています。 しかし、プログラミングの部分まったく進みません。。 機能としては、 初回起動のときデータベースとの接続を行う。 接続成功の場合はログイン画面を表示する。 失敗の場合はエラーメッセージを表示する。 ログインボタン押下 ユーザID入力あり チェック:半角や桁数チェック(false) エラーメッセージ パスワード入力あり チェック:半角や桁数チェック(false) エラーメッセージ DBに登録されているユーザIDとパスワードと一致するとき セッション変数に ユーザIDの値を設定する。 次の画面(メニュー)に遷移する。 一致しなかった場合 ログイン画面に最遷移 環境は.NET2003 DB: Access 言語VB 大体でいいですが、どういうふうにやるのか教えていただけませんか よろしくお願いします。

  • phpのログイン後の画面遷移について

    現在、phpで会員制サイトを作成する勉強をしています。 開発環境はxamppでMySQLデータベースにPDOで接続しています。 よく、会員制サイトで、非会員又は未ログイン状態でも、ある程度までページが閲覧でき、 詳しいページを閲覧するにはログイン又は新規会員登録を促すといった仕組みを見かけます。 そのような場合、ログイン後、画面は元のページ(ログイン前に操作していたページ)に戻る必要があると思うのですが、 この場合のphpプログラムは、 ログイン画面に遷移する前のページで empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); でページのURLを取得し、 ログイン画面のページへ移動するためのボタンが押されたらinput-type="hidden"でログイン画面のページにURLを受け渡し、 ログインが成功したら取得したURLに遷移させる という流れで正しいでしょうか? また、非会員が会員登録する場合のページ遷移に関して少し疑問に思うことがあります。 大体非会員のユーザーが新規登録する場合、 新規登録フォームより会員登録後はログイン状態でTOPページに戻ることが多いですが、 それが一般的でしょうか? 会員登録後に登録前に閲覧していたページに遷移させられればユーザーにとっては一番親切だとは思いますが、 最近ではほとんどのサイトが『仮登録用に入力されたメールアドレス宛に本登録用のURLを記載して送信する』という会員登録方法を使用していますが、 前にいたページに遷移させるというのは物理的に難しいため、会員登録後はTOPページに戻しているのでしょうか? また、ログインが必要なページでは issetでセッション変数に情報が含まれているかどうかで、ログイン画面を表示するか 会員閲覧ページを表示するか分岐させると思いますが、 このプログラムはしょっちゅう使われると思うので 別ファイル化して呼び出すのが賢明でしょうか? ご回答、よろしくお願いします。

    • 締切済み
    • PHP
  • ログインコントロールを画面遷移上で複数使いたい

    ASP.NET 2.0、SQL server 2008とIIS7.0の、Form認証で以下のような画面遷移を考えています。 (1)最初にログイン用の画面。ログインコントロールが貼ってあるだけ。 (2)(1)でログイン後以降の画面はフォルダを別にし、そのフォルダのWeb.Configで、(1)でログインしたユーザーのみ許可。 (3)(2)の画面に"管理人用ページ"へ遷移するリンクがあり、クリックすると管理人用ログインページを表示する。ログインコントロールが貼ってあるだけ。 (4)(3)でログイン後以降の画面はフォルダを別にし、そのフォルダのWeb.configで(3)でログインしたユーザのみ許可。 (1)でログインできるユーザと(3)でログインできるユーザには重複はないようにしたいんですが、今はまったく同じになってしまっています。 SQL ServerにはaspnetdbというDBが一つだけあるのですが、 たとえば(1)の画面ではaspnetdb_1、(3)の画面ではaspnetdb_3を参照する、などという芸当は可能なのでしょうか。 もしくはaspnetdb1つで、2つの種類のユーザ情報を管理できるのでしょうか。

  • aspx.vbからHTML標準のテキストに値を入れたい

    VWD2008+VBを使っています。 .aspxファイル内で <input id="Text1" type="text" /> と記述したテキストに .aspx.vb側から値を入れたいのですが、無理でしょうか? ASPのコントロールとして用意されているテキストボックスなら 値が入れられる事を確認しています。

  • ASPX.CS ではなく単体CSからの画面遷移

    ASP.net C#.net 1.1 通常、ASPXに付随するCS内にて、画面遷移を行う場合 this.Response.Redirect("main.aspx"); と言う形で、画面遷移しているのですが、 同様な目的で、ASPXに付随しない「単体のCS」内で「画面遷移」が実現できず 大変困っております、ご存知のかたご教授ください。 以上よろしくお願いします。

  • ログイン判定後の画面遷移について

    以下テキストボックスに、 1.ログインID、パスワードを入力させたいと考えています。 2.ログインに成功したら、「member.phpにページを遷移する」ようしたいと考えています。  ログインに失敗したら「top.php」を再表示させたいと考えています。 .以下のように記述すると、member.phpで処理が動いてしまうのですが 2のようにログイン条件の成功の有無で表示するページを切り替えるにはどうしたらいいでしょうか? ご教授お願いします。 ==top.php====== <body> <div id="content"> <h1>ログイン画面</h1> <form action="member.php" method="POST"> <dl> <dt>ログインID:</dt> <dd><input type="text" name="l_id"></dd> <dt>パスワード:</dt> <dd><input type="password" name="l_pass"></dd> </dl> <p><input type="submit" name="submit" value="ログイン"></p> </form> </div>

    • ベストアンサー
    • PHP
  • 画面遷移時の変数の渡し方!

    VBにてプログラミングしています。 A画面からB画面に遷移する際、パラメータとして 7個の変数をB画面に渡しています。しかしDEBUGや VBからの実行ではうまく行くのですがEXEから 実行すると "引数が不一致です"みたいなエラーが 出ます。どなたか同じ様な経験あったら教えて下さい。 OS:Windows2000 言語:VB6.0 SP5 ツールにSpread3.0 ImputMan6.5使用

  • eclipse-android(複数画面遷移)

    eclipseを使用してandroidアプリを作成しています。 画面遷移について ボタンを使用して3画面以上の遷移を行いたいのですが、 うまくいきません。 main->sub1とsub1->mainまでの遷移はできていますが、 main->sub1->sub2の画面遷移がどうしてもうまく行きません。 ググっても3画面以上の遷移方法がでていなく、 困っています。ご教授下さい。 javaとマニフェスト、string.xml細かく教えて下さい。

  • 次の画面に遷移後もクッキーを取得するには

    現在PHPでクッキー認証を行っているのですが、 index.phpでまず、メニュー画面にいこうとするのですが、 $_COOKIE['id'] == "" クッキーに何もIDが入っていなかったら、もしくはIDがあっても、パスワードが間違っていたら、ログイン画面に遷移するようにし、その画面でログイン情報を入力すると、メニュー画面に遷移するというところまではいいのですが、 クッキーの情報を次の画面(例えば、test.php)に遷移するときのPHPにももたせたいのですが、次の画面ではIDがうまくとれません。 クッキーではPHPがかわると、IDもNULLになってしまうのでしょうか?

    • 締切済み
    • PHP
  • フレームのあるWeb画面から、フレームのないWeb画面への遷移方法

    最初にお断りしておきますが、以下の質問は少し前にVBのカテゴリーで質問させて頂いたのですが、回答が得られなかったのと、後でよく考えたらASPの質問かな、と思ったのでASP側で質問させて頂く次第です。 VB.Net2003でWebシステムを開発している者です。画面遷移で困っており、詳しい方がおられたら教えて頂けないでしょうか。 開発中のシステムでは、まずログイン画面(フレームなし)を表示し、ログイン認証がOKとなった場合、業務画面(左右に分割したフレーム画面。左側はメニューで、右側はメイン画面)に遷移するようにしています。 ここまではなんとか実装できたのですが、「ログイン認証を行わず、ブラウザから業務画面(フレームあり)のURLを直接指定した場合、エラー画面(フレームなし)を表示したい」と考えています。 そのため、次のような実装を行いました。 (1)ログイン認証でOKとなった場合、業務画面に遷移する直前にセッション変数にセッションID(Session.SessionID)を設定する。 (2)業務画面(右側のメイン画面)のPage_Loadメソッドにて「(1)で登録したセッションID」と「Page_Loadメソッド実行時のセッションID(Session.SessionID)が異なっていれば、エラー画面に遷移(Response.Redirect(エラー画面))を行う。 上記実装後に、ログイン認証を行わずに業務画面(フレームあり)のURLを直接指定すると、フレームの右側のみがエラー画面となり、左側は表示されてしまいます。 フレームのある画面のロード時にチェックを行って、エラーとなった場合に、フレームのない画面を表示させるには、どのように実装すればよいのでしょうか? 以上よろしくお願いします。

専門家に質問してみよう