Bardziej prawdopodobny jest jednak błąd logiczny który gdzieś pewnie popełniłem, otóż^^
Mam sobie listę rozwijaną:
<select name="list">
<option value="poznan" <?php if(isset($_SESSION['city'])){if($_SESSION['city'] == 'poznan'){echo "selected";}}?>>Poznań</option>
<option value="szczecin" <?php if(isset($_SESSION['city'])){if($_SESSION['city'] == 'szczecin'){echo "selected";}}?>>Szczecin</option>
<option value="warszawa" <?php if(isset($_SESSION['city'])){if($_SESSION['city'] == 'warszawa'){echo "selected";}}?>>Warszawa</option>
<option value="sanok" <?php if(isset($_SESSION['city'])){if($_SESSION['city'] == 'sanok'){echo "selected";}}?>>Sanok</option>
<option value="slubice" <?php if(isset($_SESSION['city'])){if($_SESSION['city'] == 'slubice'){echo "selected";}}?>>Słubice</option>
</select><br />
na początku strony mam start sesji, a potem include pliku z przetwarzaniem formularza. W którym to od razu na starcie przypisuję odpowiednią zmienną do zmiennej sesyjnej:
class display{
public $miasto;
public $option;
public function show(){
$this->miasto = $_POST['list'];
$_SESSION['city'] = $_POST['list'];
if(isset($_POST['what'])){
$this->option = $_POST['what'];
}
$this->show_end();
}... // i tak dalej sobie tam idzie kod
No i wszystko byłoby w porządku gdyby nie pewien bug. Mianowicie po pierwszym przetworzeniu formularza np. wybiorę sobie Szczecin to domyślną wartością jest wciąż pierwszy element czyli Poznań. Jak w tym momencie zaznaczę raz jeszcze Szczecin to po przetworzeniu kolejnym formularza już wszystko jest jak być powinno i Szczecin dostaję atrybut "selected".
Co powinienem zrobić aby zapobiec takiemu działaniu?