公式アカウントからの投稿が始まります

いつもありがとうございますm(_ _)m。入力画面test1.phpをlocation.replaceを使って[リロードしない為]切り替えて、別の画面test2.phpと連携させています。JSのwindow.openは顧客環境では使えません(大泣)
test1.php→test2.php→test1.phpという流れで二つの変数を受け渡ししたいのですが。。。


(1)test1.phpにある変数
$row1[code]
$row1[name]
inputボタンをクリックすることで、URLを使って次のファイルに渡す

<input type="button" value="go2" onClick='location.replace
("http://********/test2.php?row1[code]=<? echo $row1[code];?>&row1[name]=<? echo $row1[name];?>")' name="button">


(2)test2.php
フォームのテキストフィールドが用意されている
<input name="code" type="text" value="<? echo $row1[code]; ?>">
<input name="name" type="text" value="<? echo $row1[name]; ?>">
test1.phpから、test2.phpの画面に切り替わった瞬間には、2つのの値がキチンと表示されている。
ここでnameに入った値を元に、サブミットボタンで処理。
<input type="submit" name="read" value="読み込み">
この時name部分に関しては、DB読込・結果をname&その他の項目と共にフォーム上にちゃんと再表示できるが、codeの値が消えてしまう。。

PHPの処理部$read部に以下のように2通り、書き加え試しましたが、だめでした。

$row1[code] = $row1[code];

$row1[code] = $_GET['$row1[code]'];


なぜ消えてしまうのか?
変数をキープするにはどうしたらいいでしょうか?
あるいは、他に良いアイディアなどありましたら、教えて下さい。よろしくお願いいたします。。。

A 回答 (2件)

$row1[code] = $_GET['$row1[code]']; ではなく、


$row1[code] = $_GET['row1[code]'];  じゃないかな?
    • good
    • 0
この回答へのお礼

全くそのとおりでした。ありがとうございました。

お礼日時:2004/07/22 20:56

質問の内容のままでしたら#1さんの仰る通り


引数が間違っていますね。

他に良い方法を…とありましたので
回答させていただきますと、
POSTを使って受け渡しをしてはいかがでしょうか?

test1.php
<form method="post" action="test2.php">
<input type="hidden" name="code" value="<?$row1[code];?>">
<input type="hidden" name="name" value="<?$row1[name];?>">
<input type="submit" value="go2">

test2.php
<input type="text" name="code" value="<?$_POST['code']?>">
<input type="text" name="name" value="<?$_POST['name']?>">
    • good
    • 0
この回答へのお礼

こちらもやってみました。ありがとうございました。

お礼日時:2004/07/22 20:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!