"Hatırla"

3 Cevap php

I have a classified website, with pretty sophisticated searching, and I am about to implement a function where the last three queries is displayed for the user, so that the user can go back easier through the queries. This because for each query the user has to provkimlike a lot of input.

Senin için dört soru var:

  1. Ben nasıl (vs vs SELECT *) gerçek sorgu kaydedebilirsiniz, acaba ...?
  2. Ben güvenli tarafta olmak için şifreleme çeşit eklemek gerekir mi?
  3. Bu nasıl performansını etkileyecek? (Ben kurabiye yavaş web aşağı aslında sevmiyorum)
  4. Düşünmek başka bir şey?

Eğer daha fazla girdi ihtiyacınız varsa, bana bildirin ...

BTW, web tabanlı PHP olduğunu.

Teşekkürler

3 Cevap

Tarayıcınız zaten tarih denilen bir özellik var. Kullanıcı "Geri" düğmesini tıkladığında, tarayıcı önceki sayfayı yükleyecektir. Bunun yerine tekerleği yeniden icat etmeye çalışırken daha, bu işlevselliği güvenmelisiniz.

Bu temelde 3 düzeyleri ile bir geri alma özelliği istiyorum. Ben bir dizide çalıştırmak her sorgu depolamak ve daha sonra üçe o dizinin boyutunu azaltmak öneriyoruz. Çok temel uygulama (daha fikrini açıklamak için, bu hiç de ayıklanmış şekilde veya özellik-tam ise):

function query(&$queue, $mysqli, $sql) {
    if (isset($queue[2])) {
        $queue[0] = $queue[1];
        $queue[1] = $queue[2];
        unset($queue[2]);
    }
    $queue[] = $sql;
    return $mysqli->query($sql);
}

Sen kullanıcıya sorguları görüntülemek veya veya herhangi başka gerekir (bunu eğer kuyruğunu güncellemek için unutmayın) geri atlamak için kuyruğunu kullanabilirsiniz.

Ben çerezler aracılığıyla sorguları göndermek değil, oturumda saklayın ve o ihtiyacı varsa bunları kullanıcıya göstermek olmaz - INSERT INTO user (username, password, isadmin) VALUES (... - gibi - Aksi Sana keyfi SQL ifadeleri göndermek olacaktır onun $ _COOKIEs ile (kullanıcılar çerezleri sahte olabilir - very kolayca).

Btw: never sen bitirene kadar PHP performansı hakkında düşünmek - bu bug-fix optimize kod temiz kod optimize etmek çok daha kolaydır. İlk uygulamak, daha sonra ölçün. Bu bir darboğaz olduğu ortaya çıkarsa, optimizasyonlar düşünmeye başlar.

Ben gerçek sorguları tasarruf olmaz - kullanıcı birini düzenlemek başardı ne olur?

3 Önceki sonuç sayfasının url kaydetmek ya (Eğer girdi değişkenleri doğrulayarak varsayarak, bu güvenli olmalı) ya da daha doğrusu sorgu daha referans olarak tuşunu kullanın, sonra benzersiz bir anahtar ile veritabanında sorgu kaydedebilirsiniz.