php kaldır düğmesi retreiving gönderdi bilgi tutar

2 Cevap php

im kadar hızlı benimle çıplak lütfen, php im oldukça acemi bulma!

Ben hızlı bir sorunum var, ben bir alışveriş sepeti için bir kaldır düğme var ve kod sepeti son ürün thats dışında her şey bunun için çalışıyor. Bir kişi addtoCart düğmeye basar eğer URL? Buyproduct = $ ProductNumber ve kaldır düğmesine basıldığında ürünün kaldırılır yeniden yüklenir. Sağ kadar her şey iyi, ama son öğeyi kaldırmaya çalıştığınızda, bu URL ürün Thats okuma tutar. böylece miktar mevcut $ ProductNumber 1 kalır.

Ben form yöntemi etiketi eylem ekleyerek denedim, böylece ancak sayfa numaraları ve URL de vardı ve bunlar da sıfırlanır olsun bölümler vardır çalışır? Buyproduct = $ ProductNumber olmadan sayfayı yeniden.

i remove? buyproduct = $ ProductNumber URL (onlar katalogda başka bir bölüme giderseniz hangi örneğin olabilir) sonra sepeti tamamen boşaltılabilir gitti çünkü bir kez çalışıyor biliyorum.

Çok öncesinde Any1 yardım için zaman teşekkür ederim, ben daha önce bu siteyi kullandım ve siz dahi en vardır!

2 Cevap

Yerine değişen Eğer mevcut eylem ne araştırmak için form action, ihtiyatlı görünüyor. Bu bazı GET değişkeni ayarlama veya unsetting kadar basit olabilir gibi görünüyor.

Eğer formun eylem adlı senaryodan bazı kod gönderebilir miyim?

Açıkçası ürün kaldırma form gönderme sizin FORMU eylem de sepetinize yeniden eklemeniz ürün için çalışıyor gerçeği ile telafi ediliyor. Belki de en kolay çözüm ?remove=1 sonra tamamen bu bölümü atlayarak, buyproduct davasını tutmadan önce kontrol edebilirsiniz gibi FORMU eylem için bir anahtar eklemek olacaktır.

Eğer sunucuya gönderilen uneccessary GET değişkenleri var, çünkü bu, ancak, temiz çözüm olmadığını unutmayın (özellikle buyproduct). Eğer sadece form eylem için sorgu dizesini yeniden oluşturmak için bu için bir geçici çözüm olabilir:

// allowed keys is used to sanitize GET data by only allowing a predefined
// set of keys to be submitted with the form
$allowed_keys = array('page' => true, 'limit' => true, 'othervar' => true);
$str = 'path_to_form_action.php?';
foreach ($_GET as $k => $v) {
    if (isset($allowed_keys[$k])) {
        $str .= $k . '=' . $v . '&';
    }
}
$str = substr($str, 0, -1);

Daha sonra FORMU eylem olarak $str kullanmak isteyeyim:

<form action="<?php echo $str; ?>" method="GET">