Robię stronę, która pokazuje wszystkie rekordy w bazie z opcją filtrowania. Warunki filtrowania wybiera się za pomocą formularza.
Ponieważ każdy wynik będzie linkiem chcę uniknąc sytuacji kiedy po obejrzeniu szegółów wyniku ktoś kliknie wstecz i wysokczy mu tablica ze są zmienne POST.
Uznałem ze najpierw warunki filtrowania zapisze do sesji (zeby umial wyświetlić warunki) a potem odswieżę stronę pozbywając się zmiennych POST. Niestety nie działa bo przy ręcznym odświeżaniu ciągle wyskakuje informacja ze strona zawiera POSTDATA
<?
polacz();
$query = mysql_query("SELECT * FROM `jezyki` ORDER BY `jezyk` ASC ;"); rozlacz();
$jezyk_z = '<option value="brak"></option>';
$jezyk_na = '<option value="brak"></option>';
For($i=0;$i<mysql_num_rows($query);$i++){
If($wiersz['id'] == $_SESSION['jezyk_z_sesja']) $jezyk_z .= '<option selected value="'.$wiersz['id'].'">'.$wiersz['jezyk'].'</option>';
Else $jezyk_z .= '<option value="'.$wiersz['id'].'">'.$wiersz['jezyk'].'</option>';
If($wiersz['id'] == $_SESSION['jezyk_na_sesja']) $jezyk_na .= '<option selected value="'.$wiersz['id'].'">'.$wiersz['jezyk'].'</option>';
$jezyk_na .= '<option value="'.$wiersz['id'].'">'.$wiersz['jezyk'].'</option>';
}
If($_POST['filtrowanie'] == 'tak'){
If(isset($_POST['jezyk_z'])) $_SESSION['jezyk_z_sesja'] = $_POST['jezyk_z']; If(isset($_POST['jezyk_na'])) $_SESSION['jezyk_na_sesja'] = $_POST['jezyk_na']; If($_POST['filtr_osoby_prywatne'] == 'on') $_SESSION['filtr_osoby_prywatne_check'] = 'checked';
Else $_SESSION['filtr_osoby_prywatne_check'] = '';
If($_POST['filtr_firmy'] == 'on') $_SESSION['filtr_firmy_check'] = 'checked';
Else $_SESSION['filtr_firmy_check'] = '';
If($_POST['filtr_biura_tlumaczen'] == 'on') $_SESSION['filtr_biura_tlumaczen_check'] = 'checked';
Else $_SESSION['filtr_biura_tlumaczen_check'] = '';
If($_POST['filtr_ojczysty'] == 'z') $_SESSION['filtr_ojczysty_z_select'] = 'selected';
Else $_SESSION['filtr_ojczysty_z_select'] = '';
If($_POST['filtr_ojczysty'] == 'na') $_SESSION['filtr_ojczysty_na_select'] = 'selected';
Else $_SESSION['filtr_ojczysty_na_select'] = '';
If($_POST['filtr_przysiegly'] == 'on') $_SESSION['filtr_przysiegly_check'] = 'checked';
Else $_SESSION['filtr_przysiegly_check'] = '';
}
If($_POST['filtrowanie'] == 'tak') echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=http://localhost/~translatorzy/?akcja=przegladaj&filtr=tak">';
$filtr_form = '<Form action="" method="POST"><input type="hidden" name="filtrowanie" value="tak"><table width="196" border="0" cellspacing="1" cellpadding="4">
<tr>
<td bgcolor="#008000" class="naglowek_duzy">Filtrowanie:</td>
</tr>
<tr>
<td bgcolor="#009900"><table width="190" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2" class="tekst">tylko osoby prywatne
<input type="checkbox" name="filtr_osoby_prywatne" '.$_SESSION['filtr_osoby_prywatne_check'].' value="on"></td>
</tr>
<tr>
<td colspan="2" class="tekst">tylko firmy
<input type="checkbox" name="filtr_firmy" '.$_SESSION['filtr_firmy_check'].' value="on"></td>
</tr>
<tr>
<td colspan="2" class="tekst">tylko biura tłmaczeń
<input type="checkbox" name="filtr_biura_tlumaczen" '.$_SESSION['filtr_biura_tlumaczen_check'].' value="on"> </td>
</tr>
<tr>
<td class="tekst" colspan="2">
<table width="189" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="tekst">z:</td>
<td align="right"><select name="jezyk_z" class="form_select_maly">
'.$jezyk_z.'
</select></td>
</tr>
<tr>
<td class="tekst">na:</td>
<td align="right"><select name="jezyk_na" class="form_select_maly">
'.$jezyk_na.'</select></td>
</tr>
<tr>
<td class="tekst">ojczysty</td>
<td align="right"><select name="filtr_ojczysty" class="form_select_maly">
<option value="nie"> </option>
<option '.$_SESSION['filtr_ojczysty_z_select'].' value="z">z</option>
<option '.$_SESSION['filtr_ojczysty_na_select'].' value="na">na</option>
</select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="tekst" colspan="2">przysięgły
<input type="checkbox" name="filtr_przysiegly" '.$_SESSION['filtr_przysiegly_check'].' value="on"></td>
</tr>
<tr>
<td colspan="2" align="right"><br>
<input type="submit" class="form_submit" value="Filtruj"></td>
</tr>
</table></td>
</tr>
</table></form>';
?>