2012-03-01 6 views
0

ユーザーがドロップダウンリストから選択できるフォームをセットアップしました。送信ボタンをクリックすると、その選択に基づいて適切なページにリダイレクトされます。ここにはPHPがあります:PHPフォーム選択に基づいてリダイレクトする

<?PHP 
function redirect($where){ 
header("Location: $where"); 
} 
if ($_REQUEST['os1'] == 'xp' && $_REQUEST['browser'] == 'ffx'){ 
redirect('http://mysite.com/index.php/prodemo/prodemo-categories/73-prodemo-xp-  firefox'); 
}elseif($_REQUEST['os1'] == 'xp' && $_REQUEST['browser'] == 'ie8'){ 
redirect('http://mysite.com/index.php/prodemo/prodemo-categories/72-prodemo-xp-ie'); 
}elseif($_REQUEST['os1'] == 'win7' && $_REQUEST['browser'] == 'ie8'){ 
redirect('http://mysite.com/index.php/prodemo/prodemo-categories/74-prodemo-win7-ie'); 
}elseif($_REQUEST['os1'] == 'win7' && $_REQUEST['browser'] == 'ffx'){ 
redirect('http://mysite.com/index.php/prodemo/prodemo-categories/75-prodemo-win7- firefox'); 

} 
?> 

私は手動でクエリをどこに呼び出すか教えています。

私のジレンマは、私が言うシンプルなラインたいということです「こんにちは、_どのように私はあなたを助けることができる?」 を

フォームに発信者の名前として入力された名前で空白が入力されます。

<form action="" method="post" name="form1"> 
Caller's Name: <input type="text" name="callersname" /><br /> 
<select name="os1">  <option selected="selected" value="xp">XP</option> 
<option value="win7">Win7</option> </select> <br /> 
<select name="browser"> <option selected="selected" value="ie8">IE8</option> 
<option value="ffx">Firefox</option></select> <br /> 
<input type="submit" value="Next" /> 

私はPHPに非常に新しいです: は、ここではフォームの例です。 PHPページを作成して発信者の名前を投稿すると、ドロップダウンメニューオプションを選択して手動で設定したリダイレクトの代わりに、そのPHPページにリダイレクトされるページを避けるにはどうすればよいですか?任意のadvixce

+2

あなたの最後のPを明確にしてくださいアラグラフ。 –

+0

「こんにちは、どうすればいいですか?」と書いておきたいのですが?ページ上でユーザーをリダイレクトしますか?それとも別の場所?あなたはこれを明記しません..また、あなたの最後の段落を明確にしてください。 – Deleteman

答えて

2

をお試しください最初のページ以外のページのユーザーの名前、またはフォーム値を処理している同じページ(IEはリダイレクトを取得しているスクリプト)を使用して、その情報をデータベースに保存するか、セッションに保存します。

まず、からあなたがその情報を引き出すために必要な各ページのセッションを初期化しますので、同様に(すべてのユーザー/ブラウザに固有の)セッション変数を作成し、その後

session_start(); 

$_SESSION['user_name'] = $_REQUEST['callersname']; 

さて、あなたはこのようにそれを行う自分の名前(IEこんにちは)を取得したいページ:

echo "Hi {$_SESSION['callersname']} welcome to mcdonalds how may I help you?"; 
+0

ありがとうございます!これは私が必要としていたものです! – dgibbons82

+0

$ _SESSION ['user_name']がユーザー名でセッションを保持している場所がわかります。また、これはブラウザでも実行できると述べました。ブラウザでこれを行うのが私にとって最適な選択です。ブラウザでセッション変数を作成するには、 'user_name'の代わりに何を入れる必要がありますか?すべての助けをありがとう。 – dgibbons82

+0

上記のコメントは無視してください。私はそれを考え出した。みんなありがとう!私は初心者ですが、このプロジェクトについて本当に興奮しています。 – dgibbons82

0

ため

おかげで、HTMLでフォームはformタグのaction属性の値で指定されたURLに提出します。上の例では、次のようになります。

action="" 

これは、ブラウザに現在のページにフォームを送信するように指示します。

同じ手順で2つの無関係なことをしようとしているようです。発信者の名前を取得しようとしているのか、それとも彼らに行くべきURLを選択させようとしていますか?両方を実行したい場合は、os1とブラウザーの値をPOST変数として受け入れ、ユーザーを完全に別のページにリダイレクトするのではなく、それらの変数の値に基づいてページを動的に変更する方がよい場合があります。

0

保存したい場合は... ...それは問題である可能性があり、あまりにも、現在のページまたは別のページにフォームを送信するためのコードを教えてaction="yourpage.php"を追加する代わりに$_REQUEST$_POSTを使用して

関連する問題