0

ユーザーが私のウェブサイトにログインすると、$_SESSION['session_city_id']MySQL から ID を収集するというセッションを作成します

含まれているデータをフォームから変更することは可能でしょうか。select_city次のようなフォームを作成しました。

<form name='select_city' action='sessions.php' method='post' style='display:inline;'>
  <select onchange='this.form.submit()'>
  <option value='1'>The first value</option>
  <option value='2'>The second value</option>
  <option value='3'>The third value</option>
  </select>
 <noscript><input type="submit" value="Submit"></noscript>
</form>

sessions.phpの見た目はこんな感じです(PHPでプログラミングを始めたばかりなので、完全な初心者であると非難しないでください!)

<?php
session_start();
$url = htmlspecialchars($_SERVER['HTTP_REFERER']); //Find out where the user came from

if (isset($_POST['select_city'])){

    $_POST['select_city'] = $city_id;
    
    if (isset($_SESSION['session_city_id'])){
    unset($_SESSION['session_city_id']);
    }
    $_SESSION['session_city_id'] = $city_id;                
}
header ("Location: $url"); //Redirect back to the page the user came from
?>
4

2 に答える 2

2
if (isset($_POST['select_city'])){
    $city_id = $_POST['select_city'];
    $_SESSION['session_city_id'] = $city_id;                
}

設定を解除する必要はありません。割り当てを置き換えました。

于 2012-05-31T20:58:57.720 に答える
1

セッション変数を新しい値でオーバーライドするだけです (設定を解除する必要はありません)。

if (isset($_POST['select_city'])){
    $_SESSION['session_city_id']=(int)$_POST['select_city']; // add a better check!
}

あなたの分野の名前を忘れないでください

<select name="select_city" onchange='this.form.submit()'>
于 2012-05-31T21:02:04.243 に答える