データの引渡しについての質問

このQ&Aのポイント
  • 初心者向けに、プログラム間でデータを渡す方法について説明していただけると助かります。
  • pr1.phpで入力したデータを次のpr3.phpに渡す方法を教えてください。
  • pr2.phpで受け渡されたデータを表示する方法を教えてください。
回答を見る
  • ベストアンサー

データを渡すには・・・

いつもお世話になります。プログラム間のデータの引渡しについてお聞きします。初心者なのであまり難しい事はわかりません。もしよければわかりやすく説明していただけると幸いです。 pr1.php function SetGamen(){ document.PR1.action ="pr2.php"; document.PR1.submit(); }   ・   ・   ・ <input type="text" name="Name" >   ・   ・   ・ pr2.php ここでは$Nameは受け渡されているので表示処理できました。この$Nameを次のpr3.phpに渡したいのですが・・・・どのようにすれば良いのでしょうか? よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

いろいろな方法がありますが、一般的に良く用いられるものは3つほど方法があります。 (1) POSTで渡す hanamaru5さんがpr1.phpからpr2.phpへ渡したやり方と同じです。 FORMタグ内のINPUTタグ等を用いて値を記入し、そのFORMに対し、SUBMITしてやるやり方です。 この場合、値は固定なので、<INPUT type="hidden" value=$Name > という形で指定すれば 画面表示はされません。 (2) GETで渡す 移動先URLに対し後ろに変数をくっつけて渡すのがGETです。 http://○○○○/△△/pr3.php?Name=$Nameという感じでつけてやることで 値を渡せます。 http://○○○○/△△/pr3.php?Name=$Name&A=2&B=0..... のように"&"で結べば複数のデータをおくれます。 (3) Session変数に格納する。 渡す、というより、各ページで共通に使える変数に格納する、というやり方です。 接続者にIDを振り、そのIDの人のみ使える変数をサーバサイドで格納します。 具体的な実装方法は下記URLにて。 ちなみにPHP4以降のサポートとなります。

参考URL:
http://php.planetmirror.com/manual/ja/printwn/ref.session.php
hanamaru5
質問者

お礼

ありがとうございました。御礼が遅くなってスミマセン・・・・・。どの方法もとてもよくわかりました。助かります・・・・・!

関連するQ&A

  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • POSTデータのNAME属性をVALUEによって取得する方法

    HTML→PHPのPOSTデータのやりとりについて、 【HTML】 <form name="form1" method="post" action="xxx.php"> <input name="01" type="text" value="1"> <input name="02" type="text" value="0"> <input name="03" type="text" value="0"> <input name="04" type="text" value="1"> <input type="submit" name="Submit" value="送信"> </form> 【xxx.php】 フォームから送信されたデータを使って、「value」が"1"の「name」を拾うのにはどのように書けばいいでしょう? ↓このように取得したいです。 $data[0]="01"; $data[1]="04"; よろしくお願いします。

    • ベストアンサー
    • PHP
  • document.form.actionでの処理

    以下のようなソースにて、 ・<form>のactionでは"send.php"へPOSTしたい。 ・javascriptにて、<select>で選択した値をhoge.phpへ渡したい 上記の事を実現するため、 ・リストから選んだ値を画像クリックで"hoge.php"へ渡し別窓で表示 ・"text"に入力した値をsubmitで"send.php"へ渡す といった処理をしているのですが、 "hoge.php"を参照した後に"text"へ何か入力してsubmitすると 本来send.phpへとぶはずが、"hoge.php"へとんでしまいます。 何が原因なのか、また最良を方法がありましたら ご教授頂ければと思います。 <script> <!-- function form_submit(url){ document.form.action=url; document.form.target = "_blank"; } //--> </script> | <FORM METHOD="POST" name="form" action="send.php"> <SELECT name="sel"> <OPTION value="001">001</OPTION> <OPTION value="002">002</OPTION> </SELECT> <input type="image" src="sub.gif" onClick="javascript:form_submit('hoge.php')"> <input type="text" name="text"> <input type="submit" value="送信"> </FORM> |

  • フォームから受け取ったデータを変数に/PHP

    入力フォームからデータを送信し、受け取ります。 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> この時に受けったデータが、「りんご」だとして この「りんご」を変数にしたいです。 ↓ <?php $keyword = "りんご"; ?> このようにするには、 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> の後にどのような処理をすればよいでしょうか? または初めから「$keyword」としてフォームからデータを送ることはできるのでしょうか? 何卒ご指導の程よろしくお願いします。

    • ベストアンサー
    • PHP
  • 送信データの受け取りについて

    ご教授願います。 ページ1からMETHOD="get"で値をSubmitして ページ2で受信したいのですが、 ページのURLバーのアドレスの最後に「?ACT=3」と 記載されているにもかかわらず、 ページ2内での$_get['ACT']で 値を拾えませんし、$ACTも確認できません。 どの様な原因が考えられるのでしょうか。 <環境> IE 7.0.5730.13 PHP 5.2.6 <プログラム> *ページ1 <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <script type="text/javascript"><!-- function Cli_Submit(){ ListForm.action = "Test_submit2.php"; ListForm.submit(); } // --></script> </head> <BODY> <FORM NAME="ListForm" METHOD="get"> <TD><INPUT TYPE="text" NAME="ACT"></TD> <TD><INPUT TYPE="button" VALUE="Submit" onClick="Cli_Submit()"> </FORM></BODY></HTML> *ページ2 <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <script type="text/javascript"><!-- // --></script> </head> <BODY> <FORM NAME="ListForm" METHOD="post"> <TD><INPUT TYPE="text" NAME="ACT" VALUE="<?php print $_get['ACT'] ?>"></TD> <TD><INPUT TYPE="button" VALUE="Submit" onClick="Cli_Submit()"> </FORM></BODY></HTML>

    • 締切済み
    • PHP
  • submitボタンを二つ用意したい

    textに入力したものを二つのsubmitボタンで共用できるようにしたいと考えています。 作ってみたのですが、思ったように動かずに困っています。 ↓をどのように修正すれば動くでしょうか。 よろしくおねがいします。 <html> <body> <form name="hoge" action="hoge1.php" method="post"> <div class="ok_left"><input name="kw" value="" /> <script type="text/javascript"> <!-- function pushSubmit (val) { with(document.hoge){ if(val=='2'){ action = 'http://hoge.jp/hoge2.php'; } submit(); } } --> </script> <a href="javascript:pushSubmit('1');"><input name="submit1" type="submit" value="1"/></a> <a href="javascript:pushSubmit('2');"><input name="submit2" type="submit" value="2"/></a> </form> </body> </html>

    • ベストアンサー
    • HTML
  • テキストボックスの値を取得したい

    PHP、JavaScriptのプログラムに関して質問します。 下記のように変数$nameに"名前"と初期値が入っていて、Web画面上で下記テキストボックスに "ありさ"と書き替えて、修正ボタンを押しても、$_POST["name"]が"名前"のままで変更されていません。"ありさ"をPHPで取得したいのですが、何がおかしいのでしょうか? function send(){ document.fm.action = "aaa.php"; document.fm.operate.value = "modify"; document.fm.submit(); } <form name="fm"> <input type="text" name="name" value="<?=$name?>"> <input id="btn" type="button" name="modify" value="修正" onClick="send()"> </form>

    • 締切済み
    • PHP
  • フォーム送信後の更新ボタンでも$_POST変数が初期化されない

    フォームのサブミット後にプログラムが走るようになっているtest.phpがあるのですが、フォーム送信後に更新ボタンを押しても再度ポストされるようになってしまっています。 ブラウザの更新ボタンを押したときには、ポストせずにフォームをクリアしたいのですが、どうすればできますでしょうか? <form method="post" action="<?php print($_SERVER['PHP_SELF']); ?>"> <input type=text name=aaa> <input type="submit" name="submit" value="submit"> </form> <?php if($_POST['submit']) { 処理 } ?>

    • ベストアンサー
    • PHP
  • 書き込みが・・・・・

    いつもお世話になります。 前画面(pr1.php)で入力したデータを画面表示してOKならば"登録"でinsertした後pr1.phpへ戻り、OKでなければ"メニューへ"でpr1.phpに戻るpr2.phpプログラムを作成中です。 下記のプログラムを実行すると 登録・・・insertするが画面が変わらずそのままの状態。 メニュー・・・pr1.phpにもどるがinsertしてしまう。 といった様態です。 何処が違っているのでしょうか? 良い方法を教えて頂きたいと思います。 超初心者なのであまり難しい事がわかりません。出来ればわかりやすく教えて頂ければ幸いです。 よろしくお願いいたします <html> <head> <Script language = "javascript"> <!-- function SetGamen(){ <? $sql = "insert into usrmst (usrid , usrpass ,usrname , usrtel) values ('$Id','$Passw','$Name' , '$Tel')"; $result = pg_exec($sql); ?> document.PR2.action = "pr1.php"; document.PR2.submit(); } --> </Script> </head> <body> <form name=PTOROKU3 method="POST" action=""> <input type="button" name= "sbm" value=" 登録 " OnClick="SetGamen()"> <br> <input type="reset" name = "Menu" value=" MENUへ戻る " OnClick="location.href = 'pr1.php'"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • もっとも初歩的なデータの渡し方を

    もっとも初歩的なデータの渡し方を教えていただけませんか。 <FORM ACTION="next.cgi" METHOD="POST"> <INPUT TYPE="TEXT" NAME="内容" SIZE="12"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form> next.cgiでどう書けば「内容」が表示されますか? まったく初心者の質問ですみません。

    • ベストアンサー
    • Perl

専門家に質問してみよう