1

フォームのデータを複数のページに投稿したいのですが、メインのアクションは「」のままです。したがって、クリックすると、同じページで更新されるはずですが、POSTデータも別のページに移動します.php。これが必要なのは、他の.phpファイルで、元のフォームページに埋め込まれたグラフが作成されるためです。

隠しフィールドを使ってみました。等もできますがgraph.php?var1=3&var2=3、そのように表示するのではありません。

私はjavascriptにあまり精通していませんが、それが進むべき道だと思いますか?

4

2 に答える 2

1

ええ、jQuery .ajax呼び出しを行うか、XMLHTTPRequestを使用する必要があるようです。必要なURLに投稿し、結果が戻ったらページをリロードします。

var i = 0
var pages = 3
var fd = new FormData();    
fd.append( 'value1', $('form input').val() );
fd.append( 'value2', $('form textarea').val() );

$.ajax({
  url: 'http://example.com/page1.php',
  data: fd,
  processData: false,
  contentType: false,
  type: 'POST',
  success: function(data){
    i++;
    captureFunction();
  }
});

$.ajax({
  url: 'http://example.com/page2.php',
  data: fd,
  processData: false,
  contentType: false,
  type: 'POST',
  success: function(data){
    i++;
    captureFunction();
  }
});

$.ajax({
  url: 'http://example.com/page3.php',
  data: fd,
  processData: false,
  contentType: false,
  type: 'POST',
  success: function(data){
    i++;
    captureFunction();
  }
});

var captureFunction = function() {
  if(i != pages) return;
  location.reload()
}

これが箱から出してうまくいくとは思いませんが、ハッキングを始めるのに良い出発点になるでしょう。

于 2013-02-08T20:26:41.433 に答える
0

使用しているのでPHP

ページがリロードされるときに、POSTリクエストを目的の各ページにカールします。

例えば

class Asynchronous {

    public function add($url, $params)
    {
        foreach ($params as $key => &$val) {
          if (is_array($val)) $val = implode(',', $val);
            $post_params[] = $key.'='.urlencode($val);
        }
        $post_string = implode('&', $post_params);

        $parts=parse_url($url);

        $fp = fsockopen($parts['host'], 
            isset($parts['port'])?$parts['port']:80, 
            $errno, $errstr, 30);

        $out = "POST ".$parts['path']." HTTP/1.1\r\n";
        $out.= "Host: ".$parts['host']."\r\n";
        $out.= "Content-Type: application/x-www-form-urlencoded\r\n";
        $out.= "Content-Length: ".strlen($post_string)."\r\n";
        $out.= "Connection: Close\r\n\r\n";
        if (isset($post_string)) $out.= $post_string;

        fwrite($fp, $out);
        fclose($fp);
    }
}
于 2013-02-08T20:44:45.693 に答える