2016-04-07 14 views
0

私のデータベースに格納されている都市の名前を取得する次のコードを持つindex.phpファイルがあります。すべての都市を印刷し、都市ごとにボタンを印刷します。例:異なるボタンに異なるセッション変数を割り当てる方法

ロンドン - >ボタン

ニューヨーク - >ボタン

サンFranciso - :私はのようなものを持っています、私のデータベース(ロンドン、ニューヨーク、サンフランシスコ)の都市を持ちます>ボタン

<?PHP 
    while($myrow = pg_fetch_assoc($result)) { 
    $nameofcity = $myrow[cityname]; 

    echo $nameofcity; 
    $_SESSION['variabletopass'] = $nameofcity; 
    echo'<form name"formname" method="post" action="results.php">'; 
    echo'<input type="submit" name="submit" value="See City">'; 
    echo'</form>'; 
    } 
?> 

それから私はボタンでクリックしたときに開くように起こっている私のresults.phpを持っています。

<html> 
<body> 
<?php 
$var_nameofcity = $_SESSION['variabletopass']; 
//Here I look in my database for info base on $var_nameofcity 
// something like select description from cities where city = $var_nameofcity 
//And I print the info 
echo $var_nameofcity; 
echo 'Here it goes the Picture of the city'; 
echo 'description'; 
?> 
</body> 
</html> 

私の質問は:

$_SESSION['variabletopass'] = $nameofcity; 
    echo'<form name"formname" method="post" action="results.php">'; 
    echo'<input type="submit" name="submit" value="See City">'; 
    echo'</form>'; 

しばらく以内、$ _SESSION [「variabletopass」]は、最後の谷を取得するつもりなので、私はそれを押したボタンは問題ではありませんので、私の最後の都市を開くつもりです(例:サンフランシスコ)。

変数を渡すと($ _SESSION ['variabletopass'] = $ nameofcity;)、ボタンを押すと、対応する都市に関連付けられた変数が渡されますか?

はずっと

答えて

0

は、フォーム内の隠し入力に都市名を設定ありがとう:あなたはフォームを投稿するとき

<input type="hidden" name="city" value="<?php echo $nameofcity; ?>" /> 

はその後、その都市は、名前のインデックスとしてグローバル$ _POSTで提供されています明らかに

<?php $nameofcity = $_POST['city']; ?> 

、スクリプトインジェクションと可能なSQLの注入を維持するために$ _POSTed入力を読んで、いくつかのセキュリティチェックをしたいと思うことを覚えておいてください:あなたの隠された入力と同じイオンを最小限に抑える。

+0

ありがとうございます!これは素晴らしい!!!ありがとう、私が探していた解決策。私はちょっとした問題を抱えていますが、実際にはPHPで入力をプリントしようとしています。私は何か間違っていると思います: 'echo ''; ' – Sam

+0

しかし、もし私がそうするなら、エコー' '';'それはうまくいくよ – Sam

+0

THANKS – Sam

関連する問題