• 締切済み

JavaScriptで次ページに値を渡したい

HTML、PHP、JavaScriptいずれも初心者です(^_^;A ファイル1で名前とパスワードを入力、ファイルAで認証、ファイル1へ結果を返して、TRUEならファイル2へ飛ぶようにしたいです。 その際、名前とパスワードをhiddenのような形で渡したいのですが、どのようにすれば渡せるのでしょうか? 渡したいデータは、PHPで$○○に代入したものです。 また、渡されたデータは ファイル2 <?php $prmarray = cnv_formstr($_POST);  // 配列データ変換functionを自分で作りました $name = $prmarray["name"]; $pass = $prmarray["pass"]; ?> という形でファイル2で受け取りたいです。 理由は、 ファイル1 → ファイル2 ←→ ファイル3 という流れのうち、ファイル3 → ファイル2では通常?のFORMでデータを送信しているためです。 めちゃくちゃな記述だと思いますが、やらんとしたいことは以下のような感じです。 ファイル1 <SCRIPT LANGUAGE="JavaScript">  function autoLink() {  location.href="file2.php";  } </SCRIPT> <BODY onLoad="setTimeout('autoLink()',0)">  <FORM method="POST" action="<?=$_SERVER["PHP_SELF"]?>">   <INPUT TYPE="hidden" NAME="name" VALUE="<?=$name?>">   <INPUT TYPE="hidden" NAME="pass" VALUE="<?=$pass?>">  </FORM> </BODY> 流れ的には ファイルA(認証結果FALSE)   ↓ ファイル1(名前とパスワード入力)   ↓ ファイルA(認証結果TRUE)   ↓ ファイル1(次画面へ移るフェーズ?)   ↓ ファイルA(認証結果TRUE)   ↓ ファイル2 ファイルAはぞれぞれのファイルにrequireされているような形です。 認証はできています。現状では名前とパスワードが渡せていないため、ファイル2でFALSEに落ちてしまっています。 よろしくお願いしますm(__)m

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

<FORM method="POST" action="<?=$_SERVER["PHP_SELF"]?>"> の部分を <FORM name="NAMEPASS" method="POST" action="file2.php"> とでもして名前を付けます。 function autoLink()の中身の location.href="file2.php"; の部分を NAMEPASS.submit(); に置き換えます。 多分これでうまくいくと思うのですが。

関連するQ&A

  • フォーム入力パスワードとランダム生成されたパスワードを比較

    現在フォームから入力パスワードと PHP でランダム生成された パスワードを比較するスクリプトを組んでます。 スクリプト自体はテスト用ですので フォーム入力用のパスワードは HTML 上に表示されるように なっており、それをコピー&ペーストすれば 良いようにはなっているのですが、どうやっても 比較結果が true になりません。 もはやどこが間違っているのかわかりません。 どなたかお教え頂ければ大変助かります。 何卒、宜しくお願い致します。 ファイル構成は 3つです↓ ran_pass.html ran_pass.php kekka.php --<< 1. フォーム入力 HTML [ ran_pass.html ] ↓ >>------------------------------------------------------------------------------- <html> <head> <title>名前入力</title> </head> <body> <u>名前入力</u><br> <form action="ran_pass.php" method="post" name=""> 名前 : <input type="text" name="name" size="24" border="0"> <input type="submit" name="" value="実行" border="0"> </form> </body> </html> --<< 2. ランダムパスワード生成 [ ran_pass.php ] ↓ >>--------------------------------------------------------------------------- <html> <head> <title>ランダムパスワード生成</title> </head> <body> <?php //フォームからのデータを $name に代入↓ // $name = $_POST[name]; //ランダムパスワードを生成 ↓// function rand_passwd($len = 8, $str = '0123456789abcdefghijklmnopqrstuvwxyz'){ $password = ''; srand ((float) microtime() * 10000000); for($i = 0; $i < $len; $i ++){ $password .= substr($str, rand(0, strlen($str) - 1), 1); } return $password; } //生成されたランダムパスワードを $rpass に代入 ↓// $rpass = rand_passwd(8) . "\n"; $htm = <<< EOD <u>ランダムパスワード生成</u><br> <form action="kekka.php" method="post" name=""> 名前 : $name さん<br><br> パスワード : <input type="text" name="ran_pass" size="24" border="0"> <input type="submit" name="" value="実行" border="0"><br> <input type="hidden" name="name" value="$name" border="0"> <input type="hidden" name="rpass" value="$rpass" border="0"><br> ( ※ パスワードは $rpass です。) </form> EOD; print $htm; ?> </body> </html> --<< 3. パスワード比較 [ kekka.php ] ↓ >>-------------------------------------------------------------------------------------- <html> <head> <title>パスワード認証結果</title> </head> <body> <?php //フォームからのデータを代入↓ // $name = $_POST[name]; $ran_pass = $_POST[ran_pass]; $rpass = $_POST[rpass]; //ランダムパスワードを生成 ↓// if($ran_pass == $rpass){ $kekka = "【 成功 】 パスワードが一致しました。";} else{$kekka = "【 失敗 】 パスワードが一致しませんでした。";} print $kekka; ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHPについて

    PHPについて。 現在このような形でパスワードを作っております <html> <head> <title>form</title> </head> <body> パスワードを入力してください。 <form name="form" action="./sample04.php" method="POST"> <input name="pass" type="text"> <input type="submit" value="ログイン"> </form> </body> </html> ↑HTMLの文面↑ <?php // パスワードを設定する。 $pass = 1234; // form.htmlからのパスワードを受け取る $form_pass = $_REQUEST["pass"]; ?> <html> <head> <title></title> </head> <body> <?php // form.htmlからの値が$form_passと等しいか評価する if($form_pass == $pass){ echo "ログイン成功<br>", "<a href=\"./top.html\">進む</a>"; }else{ echo "ログイン失敗<br>", "<a href=\"./index.html\">戻る</a>";} ?> </body> </html> 質問はパスワードを複数作りたいのですが・・・ どうすればいいですか?PHPにはあまり詳しくないので・・・

    • 締切済み
    • PHP
  • 値が渡りません。

    すごく初歩的な質問ですみません。 以下の2ソースでpostで値が渡りません。 いろいろ調べましたがわかりません。 宜しくご教授いただけるとたすかります。 【test_dev.php】 <h1><Font Color = "red">ホームページ</Font></h1><br> <br> <form action="test_dev02.php" metod="post" enctype="application/x-www-form-urlencoded"> ID:<input type="text" name="id" size="10" value="" > pass:<input type="text" name="pass" size="10" value="" > <input type="submit" value="送信"><br> </form><br> What's new<br> 【test_dec02.php】 <?php $ID="test-use"; $pass="test-dev"; $ID2=$_POST["id"]; $pass2=$_POST["pass"]; print "IDは ".$ID2."です。パスワードは ".$_POST["pass"]."です。"; print $ID2; echo $_POST["pass"]; ?> ユーザー認証プログラム

    • ベストアンサー
    • PHP
  • パスワード認証後次のページにジャンプしない

    現在 パスワード認証→次のページにジャンプ!というプログラムを作成しています。しかしパスワードが認証されても次のページ(現在まだテストの段階ということで、移動先のページはヤフーになっております。) しかしただしいパスワードを打っても次のページに移動せず、エラーが出てしまいます。 ちなみにエラーの際 Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\cvptoylibrary.com.au\txtupload.php:7) in C:\xampp\htdocs\cvptoylibrary.com.au\txtupload.php on line 53 というメッセージがでます。ただ何分初心者のため、文章が理解できません。 たぶん header ("Location: http://yahoo.co.jp"); exit; のところがおかしいのだろうと思いますが、どう修正すればよいのか、お解りになるかたがいましたら、ぜひアドバイスのほうよろしくお願いいたします。 以下は私がかいたプログラムの抜粋です。 <?php $data = $_POST['data']; $pass = "1234"; $data = htmlspecialchars($data, ENT_QUOTES); if($data == "") { echo ""; } else { if($pass== $data) { header ("Location: http://yahoo.co.jp"); exit; } else { echo "パスワードが正しくありません"; } } ?> <form action="txtupload.php" method="post"> <input type="password" name="data" size="30"> <input type="submit" value="login"> </form>

    • 締切済み
    • PHP
  • データを送るのと値を渡すのを同時に行いたい

    a hrefでデータを送るのと値を渡すのを同時に行いたいのですがどうすればいいのでしょうか。 下記のa hrefでのデータを送りに<a href="http://www.localhost/hoge.php?name=papa&age=30"> のような固定された値を受け渡したいのですがどのようにすてばいいのでしょうか <form name="form1" action="test" method="post"> <input type="hidden" name="str" value="aaa"> <A HREF="javaScript:form1.submit();">ここの書き方がわかりません</A> <form>

  • パスワード認証ページ作りたい(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
  • PHPの引数渡しについて【ギブアップ】

    色々調べましたがわからず質問させて頂きます。 以下のPHP間で引数渡しをしたいのですが上手くいきません。 【A.php】 一部のみ抜粋 <FORM ACTION="./b.php?PASS=data" METHOD="POST" NAME="ppform"> <input type="password" name="data" size=20> </FORM> 【B.php】 一部のみ抜粋 <?php $Pass = $_GET["PASS"]; echo <<<A $Pass<BR> A; ?> とすると「data」という文字が出力されます。 やりたいことは、A.phpでパスワード入力された文字を表示したいのです。 (dataの中身を取得したいのです。) これのどこがいけないのでしょうか? ご指摘宜しくお願い致します。

    • ベストアンサー
    • PHP
  • phpのプログラムに関する質問です。

    今、ログインシステムを作っている途中なのですが、以下のプログラムでやってみると、 登録してある名前とパスワードを打ち込むと、最初「パスワードが違います。」と出て、 戻ってもう一度同じものを打ち込むと、うまく先へ進みます。 (login.php)のファイルで↓ <html> <head> <title>ログイン画面Var.1</title> </head> <body > <form method="POST" action="get_login.php"> <table> <tr> <td>名前:</td> <td><input type=text name="name"></td> </tr> <tr> <td>パスワード:</td> <td><input type=password name="pass"></td> </tr> <tr> <td></td> <td> <input type=submit value="ログイン"> <input type=reset value=" 取消 "> <input type=submit name="regist" value="新規登録"> </td> </tr> </table> </form> </body> </html> (get_login.php)のファイルで↓ <? setcookie("name2", $_POST["name"]); $contents = @file_get_contents('name_list.txt'); //ファイルから読み込んだ文字列 $name=$_COOKIE['name2'];//名前 if($_POST["regist"]=="新規登録"){ readfile("regist.php"); }else{ if(ereg('<name>'.$name.'</name><pass>[a-z0-9]+</pass>',$contents,$a)){ $pass=ereg_replace('[^ ]+<pass>','',$a[0]); $pass=ereg_replace('</pass>','',$pass); if($pass==$_POST['pass']){ readfile("phptxtwrite2.php"); }else{ echo ("パスワードが違います。<br>". "<a href=\"./login.php\">戻る</a>"); } }else{ echo("登録されていません。<br>". "<a href=\"./login.php\">戻る</a>"); } } ?> (name_list)のファイルで↓ <name>会</name><pass>ss</pass> <name>さめ</name><pass>kk</pass> <name>やす</name><pass>ii</pass> <name>のり</name><pass>kk</pass> <name>あ</name><pass>a</pass> <name>あああ</name><pass>aaa</pass> <name>dda</name><pass>ds</pass> こんな感じなのですが、なぜ一発でうまくいかないのでしょうか?宜しくお願いします。 また、改良点などがありましたら、アドバイス宜しくお願いします。

    • ベストアンサー
    • PHP
  • javascriptで取得した値をテキストボックスに・・・

    IE5.5です。 javascriptで取得した値をテキストボックスに格納したいのですが、 うまくいきません。 <SCRIPT language="javascript"> var varVal=true </script> <form> document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); </form> javascriptが初心者でよくわからないのですが、 例えば <input type="hidden" name="myVal" value=varValに格納された値> といった書き方もできるのでしょうか? よろしくご教授願います。

  • クッキー認証>クッキー削除ができない!!

    今回は、クッキー認証画面を作成している際、 エラーが出てしまって先に進めず投稿しました。 下記にプログラム記載 ----H_01.html---------------------------------- <html> <head> <title>クッキー認証</title> </head> <body> <center> <form method="POST" action="H_02.php"> 名前<input type="text" name="name"> パスワード<input type="Password" name="pass"> cookieを記録する<input type="checkbox" name="chk"> <input type="submit" value="送信"> <input type="reset" value="リセット"> </form> </center> </body> </html> ------------------------------------------------ -----H_02.php---------------------------------- <?php $name = $_COOKIE['name']; $pass = $_COOKIE['pass']; $cnt = $_COOKIE['chk']; if ($cnt == True) { $lim = time()+7*24*60*60; //有効期限1週間 setcookie('name',$name,$lim); setcookie('pass',$pass,$lim); } else { setcookie('name'); setcookie('pass'); } ?> ------------------------------------------------ else文内の、setcookie二行にエラーが出ます。 htmlでチェックボックスにチェックが施されていない場合、クッキーを削除。 調べてみたのですが、どうしたらよいのかわからず 投稿しました。よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう