Witajcie, od jakiegoś czasu grzebie się z jednym problemem i nie mogę sobie z nim poradzić.
Problem dotyczy zapamiętania w cache wartości jaką wprowadził użytkownik do pola input type text. W moim wypadku jest to pole, do którego wpisywane są liczby.
Mam w pętli wyświetlane pola o poniższym kodzie:
<input alt="ct_matrix_{$ctk}" name="qty" {if ($ct['combination']['quantity']<=0 && $allow_oosp==0) || $ctp_product->available_for_order==0}disabled{/if} class="qty" id="ct_matrix_{$ctk}_idQty" value="{if $ctp_atcb!=1}1{else}0{/if}" type="text" style="{if $ctp_atcq!=1}display:none!important;{/if}" />
Chciałbym zrobić w ten sposób, że jeśli osoba opuści stronę (ewentualnie przejdzie na inną podstronę tej samej witryny) i wróci za jakiś czas .. to wartość, która została wprowadzona będzie automatycznie uzupełniała odpowiednie pole.
Np.
- przechodzimy na stronę i mamy pole input type text, którego domyślna wartość to 0,
- wprowadzamy w tym polu wartość 222 i przechodzimy na inną stronę,
- gdy wracamy na stronę mamy widoczne ponownie wartość 0 a chciałbym żeby było 222.
Najczęściej spotykam się z takim rozwiązaniem ale nie wiem czy jest właściwe bądź nie potrafię go zastosować:
<?php
session_start();
if (!empty($_POST['oursubmit'])){
//gdy wysłano formularz (kliknięto przycisk "oursubmit")
//zapisz jego stan w sesji
$_SESSION['form'] = array(
'field1' => $_POST['field1'],
'field2' => $_POST['field2']
);
}
//niezależnie, czy wysłano formularz, czy nie,
//pobierz jego stan z sesji
$formData = array(
'field1' => !isset($_SESSION['form']) ? null : $_SESSION['form']['field1'],
'field2' => !isset($_SESSION['form']) ? null : $_SESSION['form']['field2'],
);
?>
<form method="post">
<label>Jakies pole1</label><input name="field1" value="<?php echo $formData['field1'];?>"/><br />
<label>Jakies pole2</label><input name="field2" value="<?php echo$formData['field2'];?>"/><br />
<input type="submit" name="oursubmit" value="Szukaj" />
</form>
<?php
//a tu możemy korzystać z danych formularza zapisanych w $formData
?>
Prosiłbym o pomoc doświadczonych użytkowników.