hiddenの値の受け取り方

このQ&Aのポイント
  • hidden属性を使って値を受け取る方法についてアドバイスが欲しいです。
  • ログイン画面で入力されたIDの値を次画面で保持する方法について教えてください。
  • 次画面でhidden属性を使って値を表示させる方法についてわかりません。アドバイスが必要です。
回答を見る
  • ベストアンサー

hiddenの値の受け取り方。

ログイン画面で入力された「ID」の値を、以降のページで保持しておきたいのですが。 ログイン画面で入力されたID(name=ID)を、次画面で <% Dim SID   SID=Request.Form("ID") %> ID:<%= SID %> と表示し、 <FORM action="次画面" method="post"> <INPUT type="hidden" name="HID" value="<%= SID %>"> </FORM> という感じで、次画面に送ります。 (この状態でソースを見ると、SIDには入力値が入っています) で、次画面で ID:<%= request.Form("HID") %> としていますが、表示できません。 ソースをみても値が何も入ってない状態です。 いきづまってしまっています。 どなたかアドバイスお願いします。

noname#4065
noname#4065

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

  • ベストアンサー
noname#9414
noname#9414
回答No.1

これでどうやって次画面にデータを送っている のでしょう。このhidden以外にsubmitも含んで そのボタンを押して次画面にいくのですか? #単純にFORMに質問の内容しかないのであれば #送ることは無理でしょう。 また、単にIDを送って、その人かどうか確認 するのであれば、セッションを使ってもいいの ではないでしょうか? #まぁ、携帯端末みたいにcookieが使えないもの #であれば無理ですが・・・ ではでは☆

noname#4065
質問者

お礼

Kanataさま。 おっしゃる通りでした・・・。 実は、送信用のボタンは作ってあったのですが、 タイプを「button」にして、Onclick=href~で、 次画面を指定していました。 が、肝心のsubmitをしていませんでした・・。 1日悩んでこれだから、怖いですね。 お手を煩わせてすみませんでした。 本当にありがとうございました。 ちなみに、これは会社での課題で、 「セッションではなく、hiddenで」と指定されているため、しつこくhiddenにこだわっています。 またよろしくお願いします。 では、失礼します。

関連するQ&A

  • PHP内で作成したHiddenタグが、ソース表示で見えてしまう

    PHP内で作成したHiddenタグが、ソース表示で見えてしまう 熟練者・経験者の皆様にはお世話になっております。 よろしくお願いします。 現在、ログイン画面(html)⇒メニュー画面(php)⇒各画面(php) で構成されるサイトを作成しています。 ログイン画面ではIDとPASSWORD文字列を引数にJavaScriptの関数を実行し、POSTしています。 IDとPASSWORDはメニュー画面のPHP内で受け取り、 問い合わせをして正しければメニュー画面のhtmlを表示し、 正しくなければログインエラーのhtmlが表示されます。(ついでに社員番号やその他の値も取ってます) ですがメニュー画面から各画面へ遷移する際に、ログインIDや、 その他の情報をどうやって渡してやればよいのか判りません。 ログイン画面(html)からメニュー画面(php)へのPOSTと同じ用に メニュー画面もタグのValue(IDやPASSWORD)を引数に JavaScriptでSubmitすれば良いと考えました。 しかしその為にはまずPHTがログイン画面から受け取った値を、 HiddenタグでHtmlに渡してやる必要があります。 ですが、ブラウザで「ソースを表示」としてソースを見ますと、Hiddenタグが見えてしまうのです。 書いているソースは少々はしょりますがこんな感じのものです。 1.login.html <form action="menue.php" name="form_login" method="post"> 社員ID:<INPUT type="text" size="24" name="id_txtbox"> PassWord:<INPUT type="text" size="20" name="password_txtbox"> <IMG id="btnlogin" onclick="login(id_txtbox.value,password_txtbox.value); "name="btnlogin"> </form> 1.2. login.js function login(id,pass){ document.form_login.id_txtbox.value = id; document.form_login.password_txtbox.value = pass; document.form_login.submit(); } 2.menue.php <?php $user_id = $_POST['id_txtbox']; $user_pass = $_POST['password_txtbox'];  $hiddentag1 .= "<input type='hidden' id='hid_id' name='hid_id' value=" .$user_id. ">"; ?> <html> <body> <form action="edit.php" name="link_edit" method="post"> <?= $hiddentag1 ?> </form> </body> </html> menue.phpが表示された際に、右クリックメニューからソースの表示を選択し、 ソースを見ますと、hiddenタグが表示されてしまっています。 もしPASSWORDがmokoだったら、 <input type='hidden' id='hid_id' name='hid_PASS' value=moko> と見えてしまいます。 これではIDやパスワードをページ間で持ちまわる事は危なくて出来ません。 しかし、login.htmlからのアクセス以外(URL直打ち等)をはじく為には 全てのページで最初にIDとPASSWORDによる認証が必須とも考えています。 どうすれば「ソース表示」で見せずに、phpからhtmlに重要な値を渡し、 それを他のphpにPOSTする事が出来るでしょうか? PHP,POST等のキーワードで探しても、検索語句が悪いのか、なかなか解決方法を見つかれずにいます。 どうかご教授くださいませ。

    • ベストアンサー
    • PHP
  • formのfileの値をhiddenでも持ちたい

    お疲れ様です。いつもお世話になっております。 on~~イベントで値をコピーするやり方でいけるのかもと思いつつ、 うまくイメージがまとまらないので質問させてください。 <input type="file">で、ファイルが選択されたら、その値(ファイルのパス)を同じフォーム内のhiddenにも持ちたいのです。 もっと具体的にいうと hiddenに持った時、ファイル名の拡張子にかかわらず、拡張子を落として、[ファイル名]_thumnail.jpgとつけて、submitしたいのです。 <form action="xxx.php" method="post" enctype="multipart/form-data" name="myForm"> <input type="file" name="upfile" /> <input type="hidden" name="thumnail" /> </form> document.myForm.upfile.value=document.myForm.thumnail.value; みたいな感じでできるのでしょうか。 よろしくお願いします。

  • リクエストパラメータの値によってJavaScriptでスタイルを変更する場合

    いつも参考にさせて頂いてます。 早速なのですが以下のことが分からず困っています。 親画面から子画面へ遷移する。 その際、チェックボックスの値を複数個POSTで送信する。 子画面で受け取った値をhiddenにそのまま保持し、 孫画面にそのままPOSTで送信する。 JSPを使っているのですがこういったことは可能なのでしょうか? ■親画面 <form method="POST" name="data2" action="child.jsp">   <input type="checkbox" id="check" name="check" value="1>   <input type="checkbox" id="check" name="check" value="2">   <input type="checkbox" id="check" name="check" value="3">   <input type="submit" value="送信"> </form> ■子画面 window.onload = function(){   //画面遷移時にリクエストパラメータをhiddenにセット   document.data.check2.value = <%= request.getParameterValues("check") %>; } ~略~ <form method="POST" name="data2" action="grandchild.jsp">   <input type="hidden" id="check2" name="check2" value="">   <input type="submit" value="送信"> </form> こんな感じで孫画面へそのまま渡せるのかな?と思ったのですが うまく行きませんでした。 アドバイスなどありましたら宜しくお願いします。

  • select値をhiddenのvalueに渡したい

    selectで選択されたvalue値を下のhiddenのvalue値(id)に渡して、 hiddenのvalue値(id)がselectで選択されたvalue値になるような フォームを作りたいのですが、作り方をお教え頂ければ幸いです。 <form name="form" method="get" action="index.cgi"> <select name="mode"> <option value="100023">和書</option> <option value="100241">洋書</option> <option value="100524">エレクトロニクス</option> </select> <input type="hidden" name="serch_janru" value="id" /> <input type="text" name="keyword" value="keyword" /><input type="submit" name="submit" value="商品を検索" /> </form> ソース等、具体的にお教え頂けると助かります。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • HTML
  • hiddenを使ったセッション

    こんにちは。 セッションを使ったデータの受け渡しをしたいのですが、 (携帯を考慮してcookieは使わないやり方で) hiddenにセッションIDを持たせる方法で書いてみたのですが、 うまくいきません。 送られてはいるけど、受け取れていないのかな…? とは思うのですが、対処がわかりません。 以下のソースです。(確認用でGETにしてます) 望むのは、printされたセッションIDとテキスト内のセッションIDが 同一になる(=セッションが保持できてるということですよね?) かつ、submitしても、セッションIDが変わらない、という状況です。 よろしくお願いいたします。 print "Content-type: text/html\n\n"; use CGI; use CGI::Session qw/-ip-match/; if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); } else { $query_string = $ENV{'QUERY_STRING'}; } my $cgi = new CGI; CGI::Session->name("session_id"); my $session = new CGI::Session("driver:File", $cgi, {Directory=>'./session'}); $sid = $session->id(); $session->param('value', $sid); $sesid = $session->param('value'); print $sesid."<br>\n"; undef($session); @query = split(/&/, $query_string); foreach $query (@query){ ($name, $data) = split(/=/, $query); $data{$name} = $data; } print <<"EO"; <html><head> <title> </title> </head> <body><hr><hr> <form action="./test.cgi" method="GET"> <input type="hidden" name="session_id" value="$sesid"> <input type="text" name="btn" size="50" value="$data{'session_id'}"><br> <input type="submit" value="submit"><br> </form> <hr><hr></body></html> EO

  • 値の引渡し

    変数の受け渡しがうまくいかない・・ 助言お願いします。 【入力フォーム1】 <form action="confirm.php" method="post" target="_brank"> <input type="submit" name="which" value="A"> <input type="submit" name="which" value="B"> </form> 上の入力フォームから送信されてきたデータを 表示しながら次の入力フォームでデータを確認画面へとばす その際に【入力フォーム1】で入力された which と 日付関数 $now = date(Y) . date(m) . date(d). ":" . $count をCSVデータにおとしていく 【入力フォーム2】 // 日付関数 $now = date(Y) . date(m) . date(d). ":" . $count; // csvデータへ落とす値↓ $buf = "$now,$which\r\n"; import_request_variables("gP","" ); session_cache_limiter('private'); session_start(); $_SESSION['pageData'] = $_POST['which']; <html> <head> </head> <body> <form method="post" action="check.php"> <input type="hidden" name="submitflg" value="$submitflg"> <input type="hidden" name="name1" value="$name1"> //======================================================================== // ココ↓で次ページへ$nowの値を引き渡すことができなくて困ってます。 <input type="hidden" name="now" value="$now"> //======================================================================== <input type="hidden" name="which" value="<?=$_POST['which']?>"> ありがとうございます! ■さっき入力された値は:<br> <? echo $_SESSION['pageData'];?><br> ■ペンネーム <input type="text" name="name1"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • hidden属性だけのフォーム

    hidden属性だけのフォームというのはちゃんと動作しますか? 自分のソースでは動作せず、送り先のPHPスクリプトでvar_dump()すると、$_POST['']の中身が NULL になってました。送信やリセットボタンを作らずに送信できるとすれば、どんな ソースになりますか? <?php echo '<form name="form1" method="POST" action="../../disp_access.php">'; echo '<input type="hidden" name="from" value="1">'; // どのページから飛んできたかを示す echo '<input type="hidden" name="browser" value="'.$referer.'">'; echo '<input type="hidden" name="ip" value="'.$ip.'">'; echo '</form>'; ?>

    • ベストアンサー
    • HTML
  • hiddenを動的に作成したい

    何度も呼ばれるfunction(testfunc)があり、ここではparamaterというフィールドがあればそこに値を設定し、なければparamaterというhiddenフィールドを作成し、そのフィールドに値を作成。 その後、Ajax.Requestを使用して値をサーバに渡したいです。 下記のように作成しましたが、createhidden実行後もformobj.paramaterはundefinedになってしまいます。 ただ、実際は作成されているようで、サーバーには最初に設定した値が何度も飛んできている状態です。(同じnameのhiddenがたくさんできている状態?) 特にこの方法にこだわる事はないので、もっといい方法があればそれでも構いません。(post時に別のやり方?で値を渡すなど) 尚、最初からhtmlにhiddenを書いておくというのは無しでお願い致します。 function testfunc (value) { formobj = document.forms[0]; if (formobj.paramater) { formobj.paramater.value = value; } else { createhidden('paramater', value, formobj); } new Ajax.Request('./Suggest.do', { // 正しく補完情報を取得できた場合 onSuccess: aaaa, onFailure: bbbb, postBody: Form.serialize(formobj), asynchronous: true, method: 'post' }); } function createhidden( name, value, form ){ var elm = document.createElement('input'); elm.type = 'hidden'; elm.name = name; elm.value = value; form.appendChild(elm); }

  • chromeでフォームの値が取得できない

    PHPでフォームに入力された値を取得して画面に表示させる処理において、 Javascriptでフォームの値を変更した場合、chromeだと変更後の値が 取得できません。 例えば、 <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="111"> <input type="hidden" name="data1" value="AAA"> <input type="submit" value="送信"> </form> というようなフォームがあったとして、Javascriptで値を <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="222"> <input type="hidden" name="data1" value="BBB"> <input type="submit" value="送信"> </form> と、変更しても送信ボタンを押して取得できる値は、上の方の値になります。 IEやFireFoxでは問題なく変更後の値が取得できるのですが、chromeだと 取得できません。 なにか解決方法があるのか、それともchromeの仕様なのかご教示いただければと 思います。 どうかよろしくお願いいたします。

  • hiddenで送ったデータの取り出し方

    PerlもHTMLも初心者です。hiddenの使い方が分からないのですが、 ■sub test1 <form NAME="minshu" ACTION="test.cgi" METHOD="post"> <input TYPE="submit" > <INPUT TYPE="hidden" NAME="aso" VALUE="write"> .. ■test.cgi $hatoyama=$Form{'aso'}; と、hiddenで送った変数をtest.cgiで受け取る時、$Form{}で受け取ると決まっているのですか?$minshu{aso}とかでは受け取れないのですか? この場合、hiddenのnameはどういう役目をしているのですか? hiddenのname="minshu" とかすれば$minshu{aso}で受け取れるかと思っていたのですが、うまくいかないようなので..

    • ベストアンサー
    • Perl

専門家に質問してみよう