2

条件が満たされた場合、たとえば samplepage1.php のように、ページを別のページにリダイレクトしたい

$id = $_POST['id'];
$name=$_POST['name'];
if($max>$count){
//action on the same page
}
else{
//redirect to URL:index.php/samplepage2.php with the values $id & $name in POST METHOD
}

投稿を通じて値を「samplepage2.php」に投稿する必要があるように解決策が必要ですが、自動送信を実現するためにJavaScriptを厳密に使用しないでください(ユーザーがブラウザーでオフにすることができるかのように、JavaScriptのヘルプは好まない)

4

3 に答える 3

3

@nickb は彼のコメントで正しいです。フォームやその他の何かが JavaScript を処理し、ページでできることとできないことの違いを生む場合、$_POST に対応する方法を見つけようとしても無意味です。

ただし、これを処理する 1 つの方法は、そのページの $_POST を $_SESSION に切り替えることです。

次のようなものです:

$_SESSION['form1'] = $_POST;

次のページに到達したら (各ページの先頭に session_start() があることを確認してください)、必要に応じて元に戻すことができます。unset($_SESSION['form1'])ただし、使い終わったら忘れないでください。

于 2012-06-27T14:25:01.673 に答える
1

サーバーで有効になっている場合curlは、curlを使用POSTして別のフォームにデータを送信できます。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "index.php/samplepage2.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);

$data = array(
    'id' => 'value of id',
    'name' => 'value of name'
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
于 2012-06-27T14:37:02.580 に答える
1

これを試して :

$id = $_POST['id'];
$name=$_POST['name'];
if($max>$count){
//action on the same page
}
else{
$url = 'http://yourdomain.com/samplepage2.php';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'id='.$id);
curl_exec($ch);
curl_close($ch);$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'name='.$name);
curl_exec($ch);
curl_close($ch); 
}
于 2012-06-27T14:29:35.143 に答える