みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

$_REQUESTの値を保存する方法

データを更新する画面を作成しています。
HTML・PHP・MYSQLを使用。
1本目のPHPはコードを入力し、
フォーム内のSUBMITボタンで、次のPHPを呼び出します。
================================================
a.php
<?php
入力チェック
エラーがないとき
header(省略. "/b.php?CODE="
. ($_REQUEST["CODE"]));
exit();
?>
<form action="a.php" method="post">
<input type="text" name="code">
<input type="submit" name="submit" value="登録">
</form>
とあって、入力チェックでエラーがなければ
別のPHPに入力したコードをパラメーターとして
持って移動。
=================================================
b.php
<?php
$code = $_REQUEST[CODE];
このフォームのエラーチェック
エラーがないとき
header(省略. "/a.php);
exit();
?>
<form action="b.php" method="post">
<table>
<tr><td><?php echo($code); ?></td></tr>
<tr><td><input type="text"></td></tr>
</table>
<input type="submit" name="submit" value="更新">
</form>
受け取ったコードに対する情報を入力し、
更新ボタンを押す⇒エラーがなければデータを更新、もとの画面に。
最初にb.phpを表示したときは、$codeに値が入っていて、画面にコードが表示されますが、
更新ボタンを押して、画面にエラーがあるとき、
エラーチェックをして画面表示をすると、$codeの値が消えてしまいます。
この値を残す方法を探しています。
$_REQUESTの値を残す、もしくは、他のプログラムから
パラメーターを取得し使用する方法を
どなたか、教えてください!

投稿日時 - 2005-04-26 16:23:22

QNo.1353314

困ってます

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

<input type="hidden" name="h_code value=?php echo($code);?>
を<form>タグの次に追加してやります。
すると、再表示したときに
$_POST['h_code']
に値が入ってきます。
なので、先頭の部分も
$code = isset($_POST['h_code']) ? $_POST['h_code'] : $_REQUEST[CODE];
のようにしてやると良いでしょう。

テストしてないので間違いがあるかも知れませんが、ノリはこんな感じです。

投稿日時 - 2005-04-26 17:05:05

お礼

ありがとうございました。
とてもわかりやすく説明していただいたおかげで、
無事に値を残すことができました!!

独学でわからないと、教えてくれる人がいないため
完全に行き詰るので、よくここにお世話になっています。ほんとうにありがとうございました!

投稿日時 - 2005-04-26 17:42:13

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

b.php内でhtmlを作るときに、
hiddenで隠しておく
もしくは、
セッション変数を用いる
のどっちか。

投稿日時 - 2005-04-26 16:28:46

補足

さっそくの回答ありがとうございます。
hiddenの方法は確かに考えました。
セッション変数は、本でちょっとやっただけで
使用したことがないので、使い方をいまいち
理解していません。

hiddenを使用するとき、具体的にどうやって記述すればいいのでしょうか?

投稿日時 - 2005-04-26 16:46:05

ANo.1

b.php内でhtmlを作るときに、
hiddenで隠しておく
もしくは、
セッション変数を用いる
のどっちか。

投稿日時 - 2005-04-26 16:28:45

あなたにオススメの質問