テキストボックスの値をページ間で受け渡す方法

このQ&Aのポイント
  • ページからページへのデータ受け渡し方法についての質問です。
  • テキストボックスの値を別のページで使用したい場合、正しく実装する方法がわかりません。
  • テキストボックスの値を別のページのSQL文に組み込む方法について教えてください。
回答を見る
  • ベストアンサー

ページ間のデータの受け渡しについて

こんにちは、初歩的な質問で申し訳ございません。 ページからページへのデータ渡し方についての質問なのですが、 例えば以下のような2つのファイルがあったとして、 【index.html】 <script type="text/javascript"><!-- function openwin() { mywin = window.open("http://10.8.2.166/id.php","",""); } //--></script> <input type=text name=id><br> <input type=submit value=ID検索 onclick="openwin()"> 【id.php】 $sql = "select * from s_table where s_id = '『ここにテキストボックスの値を入れたいです』' ・ID検索ボタンをクリックした時、テキストボックスに入力している値を、id.phpのSQL文のwhere条件に入れたいのですが上手く作成する事ができません。 どなたかご存知の方がいらっしゃいましたら、アドバイス宜しくお願い致します。

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

  • ベストアンサー
  • HIRSYU
  • ベストアンサー率51% (45/87)
回答No.2

$_GET{'id'} は、目的の値が入っていますか? パラメータの渡し方にはPOSTとGETが有り、確かPHPでは区別されます。 (POSTの場合は$_POST{'id'}になる) 後は、 $sql = "select * from s_table where syuhou_id = '$id'"; より $sql = "select * from s_table where syuhou_id = '" . $id . "'"; の方が正しいです。

hiromasa1119
質問者

お礼

ありがとうございます。 うまく値を渡せていないようでした。 解決できました。

その他の回答 (1)

  • HIRSYU
  • ベストアンサー率51% (45/87)
回答No.1

window.openでは無く、 <form action="http://10.8.2.166/id.php" target="_blank"> のように、新規ウィドウにsubmitしてはどうでしょうか。 ボタンも <input type="submit" value="ID検索"> のようにonclickは不要です。 後はPHP側で取得できます。

hiromasa1119
質問者

補足

HIRSYUさん、アドバイスありがとうございます。 早速試してみた所、【id.php】の設定が上手くできません。 $id = $_GET{'id'};と指定し、 $sql = "select * from s_table where syuhou_id = '$id'"; と指定するのですが、上手くいきません。 ※$sql = "select * from s_table where syuhou_id = '100'";と指定すると正常に検索できます。 whereの条件指定が上手くいっていないと思うのですが、原因がどこにあるか分かりません。 お手数ですが、アドバイスいただけると幸いです。

関連するQ&A

  • window openについて

    こんにちは、例えば以下のようなスクリプトがあったとします。 <html> <form name = serchform> <input type=text name=id><br> <input type=submit value=ID検索 onclick="openwin()"> <a href="javascript:open(1);"><Img Src="1.bmp"></a><br> <a href="javascript:open(2);"><Img Src="2.bmp"></a><br> <script type="text/javascript"><!-- function openwin() { a = document.serchform.id.value; url = "http://10.8.2.166/test/syuhou_kensaku.php?id="+a; mywin = window.open(url,"","width=1120,height=500"); } function open(select) { if(aa == 1){ alert("Test") url2="http://10.8.2.166/test/kensaku.php?msg="+Testです; mywin2 = window.open(url2,"",""); } } //--></script> このソースを実行すると、ID検索ボタンをクリックしても何も反応せず 1.bmpをクリックすると、Testとメッセージが表示され、画面左下に 警告マークが表示され、何も反応しません。 しかし、function open(select)を削除し、ID検索ボタンをクリック すると命令した処理を実行してくれます。 function openwin()を削除したらその逆も起きるのかと考えやって みたのですが、これについては上記と同じエラーでした。 なぜこのようになるのか原因が分かりません。 どなたかご存知の方がいらっしゃいましたら、アドバイスよろしく お願い致します。

  • SQL、between の指定方法について

    こんにちは、SQLについての質問なのですが、 PHPで以下のように、テキストボックスを指定して、値を検索 するような作りにしています。 print "<table><tr align=center>"; print "<td align=left>◎日付検索<br>"; print "<input type=text name=s_hiduke></td>\n"; print "<td align=left>◎入力者<br>"; print "<input type=text name=s_name></td>\n"; $where = ''; if($s_hiduke != ""){ $where .= $where ? "and s_hiduke~'$s_hiduke' ":"where  s_hiduke~'$s_hiduke' "; } if($s_name != ""){ $where .= $where ? "and s_name~'$s_name' ":"where  s_name~'$s_name' "; } if (!$sql) { $sql = "select * from syuhou_table ".$where;} else {$sql = str_replace("\\","",$sql);} 今回日付の部分にテキストボックスをもう一つ追加し、「5/10~5/15」 のように期間指検索が定出来るようにする為以下のようにソースを 変更したのですが上手く動作しません… print "<input type=text name=s_hiduke>~<input type=text name=s_hiduke2>&nbsp;&nbsp;</td>\n"; $where = ''; if($s_hiduke != ""){ $where .= $where ? "and s_hiduke~'$s_hiduke',  s_hiduke2~'$s_hiduke' ": "where s_hiduke between    s_hiduke~'$s_hiduke' and s_hiduke2~'$s_hiduke' "; } 何処を直せば正常に動くのか、お分かりになる方がいらっしゃいま したら、アドバイス頂けませんでしょうか。 長々とした文章になってしまい申し訳ございませんが、よろしく お願いいたします。

  • 指定した複数のデータを別ページフォームに入れる

    非常に古い回答を参考にしています。2007/11/08 19:08 steel_grayさんが回答されている項目 希望する事は複数 商品一覧のA.htmlのページがあり それをお問合せフオームB.htmlのテキストボックスに投げ入れる スクリプトを希望 A.html <head> </head/> <body> <script type="text/javascript"> function sendQuery(uri,querys){ var query = new Array; for(var x in querys) { query.push(x+'='+encodeURI(querys[x])); } location.href=uri+'?'+query.join('&'); } </script> <input type="button" value="問合せ" onclick="sendQuery('問い合わせページのURL',{'CODE':'ABC001','NAME':'商品名'})"> </body> --------------------------------------- ・問い合わせページ ・・スクリプト(bodyのonloadで呼び出す) B.html <head> </head> <body> <script type="text/javascript"> function setQuery(){ var querys = location.search.replace(/^\?/,'').split(/&/); for(var i=0;querys[i];i++){ var query = querys[i].split('='); document.getElementById(query[0]).value = decodeURI(query[1]); } } </script> <!--値を受取るフォーム部品 --> <input type="hidden" id="CODE"> <input type="hidden" id="NAME"> </body> それぞれCODEとNAMEのテキストボックスにデータが入りません 希望は<input type="hidden" id="CODE">にCODEのデータが入る <input type="hidden" id="NAME">にNAMEのデータが入る スクリプトを希望します。 何卒ご回答よろしくおねがいします。

  • テキストボックスへの値の代入と、PHP

    function setvalue(){ document.getElementById("text3").value = "ユニックス"; } として、JavaScript側で、参照ボタンが押された時に、 id がtext3 のテキストボックスに値を代入したい場合、、 HTML側で <INPUT type="button" value="参照" onclick="setvalue()"> <INPUT type="text" name="言語" id="text3" size="30" class="ws1" #######> ######の部分に、value属性(value="~")は何も書かなくてもいいのでしょうか。 また、これはJavaScriptの関数を呼んでテキストボックスへの値の代入を実現していますが、 これを、PHPスクリプトで、実現する方法はないでしょうか。 ご指導、よろしくお願いします。

    • ベストアンサー
    • Java
  • テキストボックスを無効にすると値が取得できない

    javascriptでこのようにテキストボックスを無効に してフォームを送信するとphp側でvalueの値が取得できないのですが、入力無効にすると valueは送られないんでしょうか? <form> <input type="text" id="sample" name="sample" value="値" /> </form> スクリプト .document.getElementById('sample').disabled = true; valueにはphpで値をセットし、それをテキストボックスで編集できないようにして 値を飛ばそうとしたのですがテキストボックスのvalueの値が来てないようです。 自分なりに考えたんですが、送信する瞬間だけ(submitボタンが押された時) テキストボックスを有効に戻すようにコードを書いているのですが これ以外で何かありますか? ---このように対処--- <form onsubmit="return disb()"> <input type="text" name="sample" value="値" /> </form> スクリプト document.getElementById('sample').disabled = true; function disb(f){ f.sample.disabled = false; }

  • ページ間の値の受け渡しについて

    緊急でPHPを用いて開発しなければならず、値の受渡し方法が調べても 結果がうまく出来ないために教えて下さい。 説明がうまくできないので、ソースの一部を下記に記載しております。 【keikaku.php】 <?php $link = DB接続 $query = "SELECT (1) , (2) , (3) FROM KEIKAKU WHERE 営業所= '東京'"; $res_result = mysql_query($query,$link); echo ("<form action='keikaku_input.php' method='POST'>"); while($row = mysql_fetch_array($res_result)){  echo ("<table border=1>");  echo ("<tr>");  echo ("<td><input type='radio' name='name' value=''></td>");  echo ("<td>");  echo $row['(1)'];  echo ("</td><td>");  echo $row['(2)'];  echo ("</td><td>");  echo $row['(3)'];  echo ("</td>");  echo ("</tr>"); } echo ("<input type='submit' value='次へ'>"); echo ("</form>"); ?> というSQLで一覧を表示させて、対象行のラジオボタンが選択されると (1)と(2)の値を使い、【keikaku_input.php】で更に別のSQLを実行後に 結果を表示させる事を行ないたいのです。 【keikaku.php】→【keikaku_input.php】へ(1)と(2)の値を渡したい場合 はどのようにすれば良いかご教授願えませんでしょうか?

    • ベストアンサー
    • PHP
  • POSTメゾットでの値の受け渡しについて

    フォームからの値の受け渡しについて質問いたします。 <form ction="test.php" method="POST">   <input type="text" name="text">   <input type="submit" value="検索"> </form> で渡されたtextを下記スクリプトで受け取れません。 ====testphp==== <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </head> <body> <? print ".$_POST['text']."; ?> </body> </html> ========== ただ気になることがあり、このファイル達が置かれているディレクトリの.htaccessに <Limit GET POST> require valid-user </Limit> の記述があります。 このディレクトリはメンバー制限をかけているディレクトリですが、 メンバーとしてこのディレクトリのTOPページに入り、 検索フォームを入力してsubmitしても値はブロックされるものでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • チェックボックスの値の受け渡し

    PHP&MySQLで勉強しているものです。 ブラウザ上のチェックボックスにチェックすると、保存時にフィールド(CB)に値:1を書き込み、逆にブラウザのオープン時にフィールドの値が1の時にチェックボックスがチェックされた状態で表示させたいと思っています。 $sql="SELECT ID,NAME,CB FROM CASE" $rs=mysql_query($sql$dbHd) $row=mysql_fetch_row($rs) <INPUT type="checkbox" name="ip02" value"<?php print($row[2]) ?>"> 上記のようなINPUTを書いてみたものの、値はとれずの状態です。 どのように書き換えていけばいいでしょうか?

    • ベストアンサー
    • PHP
  • フォームを作る際にsessionを使いもしページが元のページへ戻った際

    フォームを作る際にsessionを使いもしページが元のページへ戻った際も値を保持できるようにしたいのですが作り方が分からないので教えて頂けますか??? 具体的には textの場合は<input type="text" name="hoge" value="<?php $_SESSION["hoge"]?>">とすればいいのはグーグルなどで調べ理解できましたが、selectボックスやradioボタンcheckボタンのしたかが分かりません。お手数おかけしますがよろしくお願いします。

    • ベストアンサー
    • PHP
  • 別のページにデータを送るには?

    JavaScriptで、別のページにデータを送るにはどうしたらよいのでしょうか。 1ページ目でテキストボックスに入力した文字列を、 2ページ目で、あらかじめ用意した文字列と一致するかどうかチェックする、 というのをやりたいのですが、なにぶん初心者なもので、どうも何かに失敗しているらしくうまくいきません。 一応、JavaScript解説のサイトさんを参考にこんなもんを作ってはみたのですが。 1ページ目 <html> <head> </head> <body> <form action="pas2.html" onSubmit="this.box.value=escape(this.box.value)"> <input type=text name=box> <input type=submit value=" 送 信 "> <input type=reset value="リセット"> </form> </body> </html> 2ページ目 <html> <head> </head> <body> <script> val = document.location.search; val = val.split("="); val = unescape(unescape(val[1])); if (val){ if(val==none||val!="pass") val="はずれ" else val="あたり" } else val = "何にも入力されてません。"; document.write(val); </script> </body> </html> これでやってもエラーが出ます…… どうやったらいいのでしょうか。教えてください。