2012-03-12 10 views
0

私は、PHPページに2つの送信ボタンがあります。クリックされた送信ボタンに基づいて、ユーザーを別のPHPページにリダイレクトしたいと思います。それはどのようにすることができますか?送信ボタンに基づいてPHPページにリダイレクト

<form> 
<input type="submit" value="Go To Page1.php"> 
<input type="submit" value="Go To Page2.php"> 
</form> 
+0

基本的に、フォームアクションが必要な理由はありません。 –

+0

これはPHPとは関係がありません。 – Basti

答えて

0

入力フィールドも入力フィールドもフォームを必要としません。代わりに<a>タグを使用してください。必要に応じて、CSSでスタイルを設定してボタンのように見えるようにすることができます。

1

共有入力ボックスがないと仮定すると、このようなことを行うことも、単純なリンクを使用することもできます。

<form action="http://example.org/Page1.php"> 
    <input type="submit" value="Go To Page1.php"> 
</form> 

<form action="http://example.org/Page2.php"> 
    <input type="submit" value="Go To Page2.php"> 
</form> 

追加の入力要素がある場合は、this solutionを調べることをおすすめします。関連するコードサンプル:

<input type="submit" name="submit1" value="submit1" onclick="javascript: form.action='test1.php';" /> 
+0

実際には、入力ボックスを共有しています。 – abc

0

だけform内部aタグのセットを使用します。あなたは、あなたのリダイレクトと一緒に特定の情報を送信するあなたの現在のフォームを保つとの条件を持っている必要がある場合は

<form> 
    <!-- Other Inputs --> 
    <div id="redirects"> 
    <a href="Page1.php">Go to page 1</a> 
    <a href="Page2.php">Go to page 2</a> 
    </div> 
</form> 

をあなたのファイルの先頭:

<?php 
    // You will need to send the $_POST data along with the redirect 
    if(isset($_POST['submit1'])) 
    header('Location: page1.php'); 
    else if(isset($_POST['submit2'])) 
    header('Location: page2.php'); 

    // Continue with the page... 
?> 

this other SO postをチェックし、リダイレクトと一緒に$_POST VARSを送信します。

+1

単純な問題は、 'header( 'Location:page1.php');'だけでは、追加の 'GET'や' POST'データがすべて失われるということです。これはPHP経由のHTTP 301リダイレクトなしで直接リンクをクリックするようなものです。 – Basti

+0

@Basilがそれに応じて編集されました... – Jon

関連する問題