0

単純な html フォームを使用して、選択に応じて人々をリダイレクトするにはどうすればよいですか?

<form id="contact-form" action="xxxxx" method="post">
<li>option1
<ul>
  <li><label>Red</label> <input type="radio" name="Option1" id="vsat" value="red"></li>
  <li><label>Blue</label> <input type="radio" name="Option1" id="blue" value="blue"></li>
  <li><label>White</label> <input type="radio" name="Option1" id="white" value="white"></li>
</ul>
</li>
<li>option2
<ul>
  <li><label>Big</label> <input type="radio" name="Option2" id="vsat" value="red"></li>
  <li><label>Small</label> <input type="radio" name="Option2" id="blue" value="blue"></li>
</ul>
</li>
<li>Location
<ul>
  <li><label>Europe</label> <input type="radio" name="Option3" id="eur" value="eur">    </li>
<li><label>America</label> <input type="radio" name="Option3" id="ame" value="ame"></li>
</ul>

  • 例えば:

    選択が次の場合: Red/Big/Europe www.somedomain.com/001 に移動します。

    選択が次の場合: Blue/Big/Europe www.somedomain.com/006 に移動します。

    選択が: blue/small/America の場合、www.somedomain.com/us/003 にアクセスします。

    助けてくれてありがとう!

    4

    3 に答える 3

    1

    まず、ある種のリダイレクト スクリプトを使用します。ここでは、ヘッダー経由で使用します。

    <?php
       //this will NOT work, the browser received the HTML tag before the script or even a white space
       header( 'Location: http://www.linktoredirect.com/' ) ;
    ?>
    

    次に、スイッチなどで使用できるように、すべてのオプションが 1 つのように感じられるようにする必要があります。

    <?php
    $singleOption = $_GET['option1']."-".$_GET['option2']."-".$_GET['option3'];
    //Now that you have one big option you can easily do:
    switch($singleOption){
        case "red-big-europe": $sufix = '001'; break;
        case "blue-big-europe": $sufix = '002'; break;
        //And so on
        default: $sufix='404'; //some default value to redirect if it doesn't match anything
    }
    //With the switch you already have the sufix, so you only do:
    header( 'Location: http://www.somedomain.com/$sufix' ) ;
    ?>
    

    //編集

    データをサニタイズまたは検証していないことに注意してください。ユーザーから取得したデータは、常にクリーンな状態に保ち、チェックする必要があります。それが役に立てば幸い ;)

    于 2013-07-18T12:05:51.833 に答える
    0

    ハンドラーをフォームに追加しonSubmit、フォームの値を調べ、Javascript を使用して目的のページにリダイレクトできます。Location:Javascript なしで動作させたい場合は、行きたい URL にHTTP ヘッダーを設定することで、PHP スクリプトは基本的に同じことを行うことができます。

    于 2013-07-18T11:56:55.053 に答える