• ベストアンサー

(ホームページ)フォームを使ったパスワード認証について

<form name="ok"> <input type="text" size="20" name="pass"><input type="button" value="検索" onclick="location.href='http://*アドレス*/'+document.ok.pass.value+'.html';"> </form> このフォームをつかってパスワード認証を使っているのですが、マウスをつかって「ok」ボタンをクリックしたときは正常に動作するにもかかわらず、入力後エンターで認証しようとすると、アドレスに”http://*アドレス*/?pass=入力した内容”と表示されてページに飛ぶことができません。都合上エンターでも正常に動作するように改善したいのですが、どのようにしたらいいでしょうか? ご存知の方、教えてください。よろしくお願いします。

  • DZmas
  • お礼率91% (22/24)

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

  • ベストアンサー
  • ntm98
  • ベストアンサー率26% (73/273)
回答No.4

#3のお礼欄に書いていただいたソースをコピーしてテストしましたが、やはり問題なしでした。 出ているエラーはjavascriptのものですね。 考えられることとして、同じHTML上に同じ名前のフォームは存在してないでしょうか? 例えば#3のソースの後ろに、 <form name="ok"></form> と書き足すだけで同じエラーが発生します。 今までトライ&エラーで色々やってきたので、#1さんや#2のソースがそのまま同一HTML上に残っているような気がするんですが、それだとエラーになります。 一度、新規HTMLを作成し、#3のソースのみをコピーして試してみてください。

DZmas
質問者

お礼

試行錯誤を繰り返してようやく原因がわかりました。同じHTML上にはいくら探しても同じ名前のフォームはなかったのですが、オフラインでやってうまくいくのにオンラインでいかないのはどういうことかと思ったところ、SSIを使って呼び出していた別のHTMLで同じ名前のフォームを使っていました。; 名前を別の名前に変更して、無事解決しました。度々ありがとうございました。

その他の回答 (3)

  • ntm98
  • ベストアンサー率26% (73/273)
回答No.3

#2です。 できなかったということなので、もう一度私の環境(IE6.0)で実験してみましたが、「aaa」という文字でEnterまたはボタンを押すと、http://*アドレス*/aaa.htmlに移動できましたよ。 もう一度、#2のコードの<form>~</form>を全てコピーして試してみてください。 <form>のactionがonSubmitになっていると、pass=***となってしまいます。

DZmas
質問者

お礼

まっさらに直して再びコピーアンドペーストしてみましたが、やはりダメでした。環境はIE6.0です。javascriptのエラーでしょうか、「'document.ok.pass.value'はNULLまたはオブジェクトではありません」と表示されてしまいます。; 検索のためのテキストボックスの前後はこんなふうにテーブルで囲んであるのですが、何か関係はあるのでしょうか? <table border="0" cellpadding="0" cellspacing="0" width="160"> <tr> <td> <form name="ok" action="javascript:location.href='http://*アドレス*/'+document.ok.pass.value+'.html'; "> <input type="text" size="20" name="pass"> <input type="submit" value="検索"> </form> </td> </tr> </table>

  • ntm98
  • ベストアンサー率26% (73/273)
回答No.2

<form name="ok" action="javascript:location.href='http://*アドレス*/'+document.ok.pass.value+'.html'; "> <input type="text" size="20" name="pass"> <input type="submit" value="検索"> </form> ----------------- これでどうでしょうか?

DZmas
質問者

お礼

回答ありがとうございました。 こちらもやってみたのですが、エンターキー同様マウスでも作動しなくなってしまいました。(^^; ?pass=***の表示になってしまいます。;

回答No.1

こんばんわぁ、Blackwinglsです。 form を使っているので、onSubmit されたら、 POST か GET されちゃうんでしょうね。 あまりカッコとくないですが、 <form name="ok" onSubmit="location.href='http://*アドレス*/'+document.ok.pass.value+'.html';"> とされてみては如何ですか? ではでは~☆ミ

DZmas
質問者

お礼

回答ありがとうございました。 早速やってみたのですが、どういう風にそのタグをつかっていいのかよくわかりませんでした。(^^; そのまま貼り付けても何も表示されませんし、前のタグのonclickをonSubmitに変えても何も起きませんでした。この場合だとテキストボックスはどこへいってしまうのでしょう??

関連するQ&A

  • HTML パスワード認証について

    HTML パスワード認証について 現在、HPを作成しているのですが、パスワード認証のソースがうまく動きません。 素人なもので色々と調べながらやっているのですが、なぜ動かないかがわかりません。 どなたか教えていただけないでしょうか? ソースは下記通りです。 <head> <SCRIPT LANGUAGE="JavaScript"> <!-- function PassLink(){ key=document.pass.word.value; location.href="C:\xxxxxxxxxx\ooooooooo\iiiiiiiii\"+key+".html"; } //--> </SCRIPT> </head> とHTML側の文章は <body> <FORM name="pass"> <INPUT type="text" name="word" size="18"> <INPUT type="button" value="認証" onClick="PassLink()"> </FORM> </body> です。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • パスワード認証ページ作りたい(basic認証でない)

    フリーのものを使ってパスワード認証ページ(basic認証でない)を作ろうとしています。しかし、うまく動いてくれません…何がいけないのでしょうか?どうかご教授下さい。ちなみにここのサンプルです。 http://www.jetman.jp/passwd.php <?php $user_pass = "test"; $ok = "ok.htm"; $error = "error.htm"; $script = "login.php"; $doc_title = "テスト"; if(!isset($ver)) { $ver = '1.05.1'; } if(!isset($pass)) { $pass = $user_pass; // パスを指定 if($passwd == $pass) { header("Location: $ok"); // OKなら } elseif($passwd) { header("Location: $error"); // NGなら } } ?> <html> <head> <title><?php echo $doc_title; ?></title> <meta http-equiv="Content-Type" content="text/html;Charset=Shift_JIS"> <script type="text/javascript"> <!-- function check() { if(document.formxx.passwd.value.length == 0) { alert("パスワードが入力されてません"); return false; } return true; } //--> </script> </head> <body> <h3><?php echo $doc_title; ?></h3> <form action="<?php echo $script; ?>" method="post" name="formxx"> <input type="password" name="passwd" size="15"> <input type="submit" value=" login " onClick="check()"> <form> <p style="font-size:10px"><a href="http://www.jetman.jp/">プチログイン version:<? echo $ver; ?></a></p> </body> </html>

    • ベストアンサー
    • PHP
  • java簡易パスワード

    javaの簡易パスワードを使って閲覧制限を一部のページに施しています。URLを一致させてジャンプするタイプです。入力したパスワードが間違ってると「このページは存在しません」のページヘジャンプしていしまいます。これをアワードで「パスワードが間違っています」と表示させたいです。どのようにすれば出来ますか? <form name="passform" action="#"> パスワード <input type=password name="passtxt" size="20" tabindex="1"> <input type=button value="OK" tabindex="2" onclick="if (document.passform.passtxt.value !='') {location.href=document.passform.passtxt.value + '.htm' } else { alert('エラー:パスワードの未入力が考えられます') }">  <input type="reset" value="リセット" tabindex="3" onclick="return confirm('入力内容を削除してもよろしいですか?');" > </form>

  • HTMLのフォームでのデータの持っていきかたについて

    HTMLとPHPを使いアカウント作成のページを作成しています。 テキストボックスに名前等を入力して登録ボタンを押すときに、パスワード認証画面(アカウント作成用のパスワードを入力)を経由して次の画面に行きたいと考えています。その際にはテキストボックスに入力したデータを持っていかなければならないのですが、うまく持っていってくれません。 actionに直接javascriptを入れるとデータは持っていってくれないのでしょうか? よろしくお願いします。 <form method='post' action="JavaScript:var pass=prompt('パスワードを入力してください','****');if(pass){location.href= pass+'.php';}"> <p>名前<input type="text" name='hName' value='$hName'></p> <p>住所<input type='text' name='hpostcode2' value='$hpostcode'></p> <p>コード番号<input type='text' name='haddress2' value='$haddress'></p> <input type="submit" value='$hNamebutton2'> </form>

    • ベストアンサー
    • HTML
  • javascriptのパスワードっぽいもの

    現在入力したキーワードが合っていれば、リンクに飛ぶというページが作りたくて 苦闘しているのですが、「オブジェクトを指定してください。」というエラーが出て 上手くいきません。 考えてみても心当たりがないのですが、何がいけないのでしょうか? 以下にページのソースを記述いたしましたので、何かお気づきな点がございましたら、 ご教授いただければ幸いです。 よろしくお願いいたします。 <html> <head> <title>判定</title> <spript language = "JavaSpript"> <!-- function pass(moji) { if(moji==777){ location.href="link.html"; }else{ window.alert("間違ってます"); } } //--> </spript> </head> <body> <form name="form"> <input type="text" size="5" name="txt"> <input type="button" value="クリック" onclick="pass(document.form.txt.value)"> </form> </body> </html>

  • フォームについて

    お世話になります。 フォームについての質問なんですが、例えば、↓のようなフォームがあったとします。 <form> <input type="radio" name="sample" value="同意する">同意する <input type="radio" name="sample" value="同意しない">同意しない <input type="button" value="同意して申し込む" onClick="location.href='http://www.google.co.jp/'"> </form> このフォームは「同意する」「同意しない」の選択にかかわらず、「同意して申し込む」をクリックすればgoogleのトップページが開きます。これを、「同意する」を選択していないと、googleのトップページが開かないようにしたいのです。「同意しない」が選択されていたら、動作しないようにしたいです。分かりにくい説明かもしれませんが、どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • ホームページの「パスワード」機能が上手く作動しなくて困っています。

    自分のホームページに「パスワード」で 特定の人だけが閲覧できるページを作りたいのですが インターネットで見つけたスクリプト(下記)を HTMLに書き込んだのですが、上手くリンク先のページに 飛びません。何が悪いのでしょうか? ****************以下書き込んだ内容です。 <head></head>の間に <script language="JavaScript" type="text/javascript"> function nextPage(){ pwd=document.form1.pass.value; location.href=pwd+".html"; } </script> そのあと<body></body>の間に <form name="form1"> <input type="textbox" name="pass"> <input type="button" value="パスワード" onClick="nextPage();"> </form> ****************です。 パスワードは、飛ばしたい先の名前が「test.html」 ですので、聞いてきたパスワード欄に test と打つのですが 「表示できません」のメッセージが出ます。 環境は vista でホームページビルダーのvar.5です。 よろしくお願いいたします。

  • formについてFirefoxで動作させたい

    IEとGoogle Chromeでは動作が正常に確認できました。 Firefoxでも正常に動作するようにしたいのですが、何処を直せば良いのでしょうか? クリックしてもボタンが動いてないようなのですが・・・・。 すみません、どなた様かご存知でしたら、どうぞよろしくお願い致します。 <script type="text/javascript"> function PassChack(){ var passWord = passF.pass.value; if(passWord ==""){ alert("パスワードが未入力です"); return false; }else if(passWord == "aaa"){ location.href = "aaa.html"; }else{ alert("パスワードが間違っています"); } } </script> <form method="post" id="passF">   <input type="text" name="pass" id="pass" size="30" value="" /><input type="button" value=" 実行 " onclick="PassChack();return false;" /> </form>

  • パスワードを二つ用いて隠しページをひらくには?

    お世話になります。 http://www.red.oit-net.jp/tatsuya/java/prompt.htm このサイトをみてパスワード付きホームページの作成の 仕方はおおむね理解したのですが、 私のサイトの場合パスワードを2個用いて 隠されたホームページを表示されるようにしたいと思っています。 <script language="JavaScript"><!-- function myButton(){ myPassWord = document.myFormText.myFormTextPass.value; if ( myPassWord == "pass1" )location.href = "secret.htm"; else alert( "パスワードが違います!" ); } // --></script> <form name="myFormText"> パスワードを入れてください <input type="password" size="30" name="myFormTextPass"> <input type="button" value="OK" onclick="myButton()"> </form> パスワードを入れてください このような表記だと1つのパスワードしか入力できず 困っているのですが2つのパスワードを入力させるようにするにはどのような記述をすればよろしいでしょうか。 よろしくお願いいたします。

  • 携帯サイトでの隠しページ

    携帯サイトでパス制の隠しページを作りたいのですが、使用出来るタグ等に制限が多いので困っています。 環境は、PC向けでCGIの使用もOKな有料サーバーをレンタルしていて、携帯で閲覧出来るように小さいファイルをつくっています。 .htacccessを使う事も考えたのですが、ユーザー名も入れないといけないので閲覧者の方が面倒かと思いやめました。 あとは <FORM NAME="ok"> <INPUT TYPE=TEXT NAME="pass"> <INPUT TYPE=button VALUE="認証" ONCLICK="location.href=document.ok.pass.value+'.html';"> </FORM> を試しましたが、携帯は対応してないようで、フォームが表示されませんでした。 パス次第で色んなページに飛ばせるから面白いと思ったのに… 遊び的なページにするつもりなので、厳重なものでなくてもいいのですが、何かいい方法はないでしょうか?

専門家に質問してみよう