アプリ版:「スタンプのみでお礼する」機能のリリースについて

環境
 WindowsXP、Apache2.0.47、PHP4.3.2で使用しています。

質問
 POSTメソッドのようなデータの送信を、submitボタンなしで行うにはどうすればよいのでしょうか?

詳細(現状)
 file_1.phpのページでデータの入力を行い送信ボタンを押すとfile_2.phpへジャンプします。
 file_2.phpでは入力データをSQLに登録し、再びfile_1.phpへ戻ります。

 file_1.phpは、変数を引き渡すため<form action="file_2.php" method="post">でfile_2.phpへ
 file_2.phpは、<META http-equiv="refresh" content="0; url=file_1.php">でfile_1.phpへ移動します。

 連続でデータを入力するときに前のデータをデフォルトで表示しておきたいのですが、
 file_2.php→file_1.phpへ変数を渡すにはどうすればよいのでしょうか?

よろしくお願いします。

A 回答 (2件)

file_2.php内に以下の記載を行ってみてください。



---------------------------------------------
<body onload="document.FRM.submit();" >
<Form Name="FRM" Method="POST" action="file_1.php">
<input type =hidden name="Data_A" value= "<? /* ここに渡したい値を記載 */ ?>">
</Form>
    • good
    • 3
この回答へのお礼

回答ありがとうございました。

意図した動作が出来ました。
何故動くかはまだ分かりませんが<body onload="document.FRM.submit();" >が鍵のようです。
これから調べようと思います。

ありがとうございました。

お礼日時:2004/11/29 14:43

file_2.phpの処理を、file_1.php内に記述することはできないのですか?



SQLを使うわけではありませんが、以下のスクリプトは恐らくおっしゃってる動作をしていると思います。

<form name="test" method="post">
<input type="text" name="testfield" value="<?=$_REQUEST["testfield"]?>"></input>
<br>
<input type="submit" name="submit" value="go">
</form>
<?php
if($_REQUEST["submit"] != ""){
$fp=fopen("test.txt","a");
fwrite($fp,$_REQUEST["testfield"]."\n");
fclose($fp);
}
?>

何かのヒントになれば幸いです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

動作が確認できました。
 $fp=fopen("test.txt","a");
 fwrite($fp,$_REQUEST["testfield"]."\n");
 fclose($fp);
の部分に自分の行いたい処理を入れれば良い訳ですね。

submitボタンの下に<input type="reset" value="クリア">を追加したのですが、blankにはなりませんでした。
if($_REQUEST["reset"] != ""){のような処理を追加しなければならないのでしょうか?

ファイルを2つに分けたのはその方法しか思いつかなかったので、この方法でも問題ないです。

参考になりました。ありがとうございました。

お礼日時:2004/11/30 09:42

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A