../../image/benilogo.gifPHP4 について


PHP と html と PostgreSQL のデーター連携 について。

 

さて、html 形式で データーを取り込み、 PHP に受け渡すにはどうすればいいのだろう?
<FORM action="test02.php">
例えば<BR>
<TT>これを部品コードとして    </TT><INPUT name="b_code" size="20"> <BR>
<TT>ここを部品名とする。     </TT><INPUT name="b_name" size="20"><BR>
<INPUT type="submit" name="Button1" value="送信ボタン">
</FORM>


このようなフォームを作成する。
で。部品コードは b_code と言う名前をつけ、 部品名は b_name とする。
また、送信ボタン は Button1 と名前を付けている。

これを PHP で受け取れるのだろうか? どうやって?
それとも 別の方法があるのかな? これは簡単に受け取ることが出来ました。
上記 test01.html から 送信すると なんと言うのだろうか? URL の後ろに エンコードされたバラメタで受渡しされる。
GET メソッド なんだけど、 あと POST メソッドなんてのもある。 これはどうなるのかな? 後で実験してみよう。
  上記の html を表示すると左図のような画面になり、
  部品コードと部品名称を入力する。

  送信ボタンを押すと Form の action="test02.php" なので
  下記の test02.php が呼び出される。
<?php
  echo "URL line のから受け取り。<BR>";
  echo "部品コード$b_code <BR>";
  echo "部品名称 $b_name \n";
?>

 test01.html で付けた名前に $ をつけると
 簡単に php の変数として受け取れます。

  注:変数名の大文字・小文字は区別する。
   同じ名前を付けること。

GET と POST
実際の詳しい動作はよくわからないけれど、 POST で送信すると URL のパラメーターは表示されなくなるようです。
 POST METHOD で送信すると URL の後ろには
 パラメーターが付かなくなりました。
 結果として PHP の変数には同じ様に受け渡されている。

マニュアルをよくみたら
マニュアルを見ていたら、
phpの外部からくる変数( マニュアル )
// PHPディレクティブregister_globals = onの場合に利用可能。
// PHP 4.2.0以降、register_globalsのデフォルト値はoffとなっています。
// この方法の使用/依存は推奨されません。

 推奨されないとある。
確かに、php.ini を覗いて見ると
; You should do your best to write your scripts so that they do not require
; register_globals to be on;  Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = On

 ここ On になっている。
使用/依存は推奨されません。  ということのようで

<?php 
 echo "URL line のから受け取り。<BR>";
  echo "部品コード$b_code <BR>";
  echo "部品名称 $b_name \n";
?>
===>>
<?php 
  echo "URL line のから受け取り。<BR>";
  echo "部品コード$_POST['b_code'] <BR>";
  echo "部品名称 $_POST{'b_name'] \n"; 
?>

とまぁ こんな書き方の方がよさそうです。
























目次に戻る

2005/01/09start ********* Last Update 2006/11/11 17:06 JST

(C) Y.Kondou,2005,2006 All Rights, Reserved.
その他、お気づきの点がありましたら連絡先はこちらから