0

現在、フォームの特定の時点でユーザーを外部支払いサイトに送信するフォームを作成しています。この時点で、この支払いサービスを提供しているサービスに 2 つの URL を提供しました。1 つは支払いの時点でユーザーの記録を更新する関数を呼び出すためのもので、もう 1 つは支払い後にユーザーがリダイレクトされる URL です。プロセスが完了しました。最初の URL (ユーザー レコードを更新するための関数呼び出し) は「帯域外」であり、ユーザーに表示されることはなく、クライアント IP ではなくサーバーからのものです。このため、私に返されている変数が見えないため、私は少し「袋小路」にいます。明らかに、これらは、このデータを解析して操作 (投稿) するために重要です。私たちの記録を更新します。

これらの POST 変数をループしてテキスト ファイルに書き込む単純なアルゴリズムを関数内に記述しようとしましたが、残念ながらこれを機能させることができませんでした (Joomla と関係があるのでしょうか?)。

その関数は次のとおりです。

public function harlandReturn() {
        $myFile = "text.txt";
        $fh = fopen($myFile, 'w');
        $stringData = "";
        foreach($_POST as $i => $v) {
            $stringData .= $i . " : " . $v . " / ";             
        }
        fwrite($fh, $stringData);
        fclose($fh);
    }

私の主な質問は、送信されたデータをファイル、電子メール、または同様のものに記録して保存する関数を取得して、それらが何であるか(int、string、booleanなど)とその名前を確認できる方法があるかどうかです。 ?

ありがとう

4

2 に答える 2

1

変数は常に予測可能であるとは限らないため (たとえば、サブ配列)、配列をシリアル化してファイルに書き込むのがおそらく最善です。

if(is_writable($myFile)) {
    $fh = fopen($myFile, 'w');
    $stringData = serialize($_POST);
    fwrite($fh, $stringData);
    fclose($fh);
}

その後、ファイルを直接開くか、または を使用してクイック スクリプトを作成し、unserializePOST 済みとして表示することができます。

ファイルが書き込み可能かどうかなどを確認するためのエラーチェックを行っていないことに注意してください。

于 2013-05-23T09:36:16.790 に答える
0

あなたの機能がありませんfwrite()

$myFile = "text.txt";
$fh = fopen($myFile, 'w');
foreach($_POST as $i => $v) {
  $stringData = $i . " : " . $v . " / ";
  fwrite($fh, $stringData);             
}
fclose($fh);

また

$myFile = "text.txt";
$fh = fopen($myFile, 'w');
foreach($_POST as $i => $v) {
  $stringData .= $i . " : " . $v . " / ";

}
fwrite($fh, $stringData); 
fclose($fh);
于 2013-05-23T09:28:56.043 に答える