2ntブログ
2024 101234567891011121314151617181920212223242526272829302024 12
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

GETとPOST 2008-08-29
[改訂版] PHP ポケットリファレンス (Pocket reference)[改訂版] PHP ポケットリファレンス (Pocket reference)
(2005/09/17)
大垣 靖男

商品詳細を見る
毎日お世話になってます。


PHPを全て使いこなせるようになる日は来ない気がします。
それほどまでに、出来ることが多く、奥が深いかと。
まだまだ勉強が必要ですね。

今回は、それほど難しくない内容。
フォームによる値の送信です。

ページの流れは以下のような感じ。

・HTMLで生成されたフォームに値を入力。
・送信ボタンを押すと、ページ遷移し、入力した内容が表示される。
・戻るリンクを押すと、入力した内容が保持されたまま。

こんな感じです。

それでは、入力画面のソースです。

<get_and_post.php>


<?php

/** 初期値 **/
$myName = "";
$myID = "";
$myAge = "";
$myFrom = "";

/** GET受け取り **/
if( $_GET['myName'] ) {
$myName = $_GET['myName'];
if( $_GET['page'] ) {
$page = $_GET['page'];
$myID = $_GET['myID'];
$myAge = $_GET['myAge'];
$myFrom = $_GET['myFrom'];
echo "DBには繋がなくて大丈夫です";
} else {
echo "DBに繋いで値を取得してみよう";
}
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<TITLE>GETとPOST</TITLE>
</HEAD>
<BODY>
<form method="post" action="./get_and_post_return.php">
名前:<input type="text" id="myName" name="myName" value="<?php echo $myName; ?>"><br>
番号:<input type="text" id="myID" name="myID" value="<?php echo $myID; ?>"><br>
年齢:<input type="text" id="myAge" name="myAge" value="<?php echo $myAge; ?>"><br>
出身:<input type="text" id="myFrom" name="myFrom" value="<?php echo $myFrom; ?>"><br>
<input type="submit" id="send" name="send" value="POSTで送信">
</form>
<br>
<a href="./get_and_post.php">値のリセット</a>
</BODY>
</HTML>



GETで受け取る値があるか無いかで処理を変えてます。
「DBに~」の記述は無視しといて下さい。

次に、出力及び入力画面へ戻る画面のソースです。

<get_and_post_return.php>


<?php

$myName = $_POST['myName'];
$myID = $_POST['myID'];
$myAge = $_POST['myAge'];
$myFrom = $_POST['myFrom'];
$page = "confirm";

$backURL = "./get_and_post.php";
$sendURL = "?myName=" . $myName . "&myID=" . $myID . "&myAge=" . $myAge . "&myFrom=" . $myFrom;
$pageURL = "&page=" . $page;

$URL = $backURL . $sendURL . $pageURL;

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<TITLE>GETとPOST</TITLE>
</HEAD>
<BODY>
<p>入力した内容が表示されます</p>
<?php
echo $myName . "<br>";
echo $myID . "<br>";
echo $myAge . "<br>";
echo $myFrom . "<br>";
?>
<hr>
<p>送り返したい値:<?php echo $sendURL; ?></p>
<p>送信してみるURL:<?php echo $URL; ?></p>
<a href="<?php echo $URL; ?>">
テキストリンクで送信してみる</a>
</BODY>
</HTML>




POSTでサーバへ送ります。
確認画面で、修正などが必要な場合は、GETで送り返します。
DBなどから最初に値を取得するなどする場合は、GETにページ遷移の値を付与するといいかも。
他にいい方法ありそうだけど。

とりあえず、こんな感じで、メモ。


コメント非表示