Arama formu url yapısı

2 Cevap php

Biz 70'e yakın özelliklere sahip geniş bir arama arayüzü inşa ediyoruz. Bu özelliklerin çoğu boolean olan, yaklaşık 12 int değerleriyle (yalnızca 0 veya 1 tuşunu basılı tutun) ve bazı dize vardır.

goal: http://www.example.com/q/test_search/fdgREGd3vfS323
want to avoid: http://www.example.com/q/test_search/?val_12=1000&val_120=0&val_4=XY....

Hedefimiz mümkün sadece url hatırlayarak tam arama veri göndermek / depolamak için yapım, böylece tüm arama özelliklerini yapacak bir kısa url sahip olmaktır.

Bu tüm url dizesinde birçok parametre ile yapılabilir biliyorum, ama benim patronum kalıcıdır.

Biz boolean değerleri temsil etmek için nasıl anladım var:

Harita bir değişkeni temsil eden her bir konuma sahip bir ikili temsil (00010101011) için değerleri. Biz örneğin daha kısa bir meslektaşı (AB) kodlanmış bu dizeyi geçirmek Hex.

Bu değerleri tutmak özelliklerine gelince, biz procede nasıl karar sığınak. Herhangi bir fikir?

2 Cevap

Hatta daha da kolaylaştırabilirsiniz. Veritabanı bir sorun değil ise, databse insanların aramaları depolamak ve bu gibi bazı tür adresler verebilir:

user_searches:
 search_id | prop1 | prop2 | prop3 | .... | propN

ve kullanıcılar gibi url verin:

http://example.com/search/(search_id)

O, ne oluyor kullanıcının bitiş noktasından görünmez kısa url tutar ve kullanılabilirlik için sitenizi optimize etmek istiyorum durumda size :) insanlar arıyor ne (kolayca) takip edebilirsiniz, çünkü bu şekilde kullanmayı tercih.

[edit] additionally you can use a hash for the (search_id) so searches would not be so easily guessed by other users.

Sizin değerler sonlu ve statik ise, onlara bir numara atamak.

Olası tüm arama parametreleri kombinasyonu sonlu ise, her şeyi karma ve huzurlu URL parametresi olarak bu karma kullanma seçeneği de var.