Koruyarak önceki sırasında bir form üzerinde yenisini ekleyerek

3 Cevap php

Başka bir sayfadan bazı parametreleri ile birlikte bu formu var. Ben bu değerleri korumak ve sortby parametre eklemek istiyorum, ama ben vurmak her zaman tüm parametreleri ortadan göndermek, ancak yeni sortby parametre.

Nasıl önceki sayfada parametrelerini korumak ve sadece orderby parametre ekleyebilir veya değiştirebilirsiniz.

<form name="formSearch" action="<?php echo $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']; ?>"  method="GET">
    <select name="order_by" id="order_by">
        <option <?php if( isset($_REQUEST['order_by']) && $_REQUEST['order_by'] == 1) { echo "selected"; } ?> value="1">Ultima Modificacion (Reciente)</option>
        <option <?php if( isset($_REQUEST['order_by']) && $_REQUEST['order_by'] == 2) { echo "selected"; } ?> value="2">Ultima Modificacion (Viejo)</option>
        <option <?php if( isset($_REQUEST['order_by']) && $_REQUEST['order_by'] == 3) { echo "selected"; } ?> value="3">Precio (Mayor to Menor)</option>
        <option <?php if( isset($_REQUEST['order_by']) && $_REQUEST['order_by'] == 4) { echo "selected"; } ?> value="4">Precio (Menor to Mayor)</option>
        <option <?php if( isset($_REQUEST['order_by']) && $_REQUEST['order_by'] == 5) { echo "selected"; } ?> value="5">Marca/Modelo (A to Z)</option>
        <option <?php if( isset($_REQUEST['order_by']) && $_REQUEST['order_by'] == 6) { echo "selected"; } ?> value="6">Marca/Modelo (Z to A)</option>
    </select>
    <input name="submit" type="submit" />
</form>

3 Cevap

Eklemek

<INPUT type='hidden' name='OPT1' VALUE='<?php if( isset($_REQUEST['OPT1'])) { echo $_REQUEST['OPT1']; } else { echo "" } ?>

Eğer gizli girdi alanı olarak onları geçmek gerekiyor çünkü.

Opt1 korumak için parametrenin adıdır - parametreleri gibi bu gibi birçok eklemek

Aslında göstermek için alanları / değerleri için isterseniz, o zaman:

  • Bırak type='hidden' onları görüntülemek ve düzenlenebilir olmasını

  • Onları engelli giriş alanları onları görüntülemek ve düzenlenebilir olmayabilir olun.

Ancak bu 2 seçenek, örneğin, temiz yapılması gereken eski değer radyo düğmesini geldiyse, size aynı radyo düğmesi kurulumu, vb görüntülemek ve ön doldurmak gerekir ..

Bu yöntem, "GET", bu yüzden kullanmayın eğer "formu" iş yolu görünüyor ben değerlerini korumak gerekiyor ve o önerdi gibi gizli alanların bir grup eklemek gerekir "GET" kullanmak gerekiyorsa. Ama bunu önlemek için çalışıyordu. Birisi daha iyi bir yol bilen varsa bu bir çözüm olacağını değilse, lütfen bana bildirin:

" method="GET"> $v){ echo ''."\n"; } ?>

Sadece için "POST" yöntemini değiştirmek, sonuç şeklinde "GET" kullanmak zorunda ve yoksa Şimdi, bu iyi çalışır.

Eğer başka bir form geliyor eğer unutmayın, bu form, bu çalışması için "GET" olması gerekir.

Search Page -> Use Get Result Page w/ Sorting form -> Use Post

Verileri kalıcı basit yolu, söz konusu değerleri doldurmamak sorumlu alanlar geçerli sayfada mevcut emin olacaktır. Onlar söz konusu sayfada artık kullanıcı için görünür olması gerekiyordu değilseniz, size <input type="hidden" name=fieldname" value="value_set_on_previous_submit"/> bunları ayarlayabilirsiniz. Onlar hala göstermelidir Veya, sadece kendi değerleri teslim olanlar için ayarlanmış olduğundan emin olun.