PHP nasıl tüm bağlantılar değişkenler GET korumak mı?

5 Cevap php

Ben anında verilerin dinamik tablolar oluşturur ve bazı PHP kodu var. Çeşitli bağlantılar tıklayarak veri tabloları "rafine". Ne istiyorum bu bağlantıların her biri geçerli GET bilgileri korumak ve ona eklemektir. IE:

$allPreviousVars = ???; // Could be 20+ vars
echo "<a href='".$allPreviousVars."&newVar=2'>Link</a>";

Ben bir döngü ile $ _GET yineleme tarafından bunu yapmak için yollar düşünebilirsiniz, ama kesinlikle bunu yapmak için daha hızlı bir yolu var mı?

5 Cevap

Nasıl hakkında $ _SERVER ["QUERY_STRING"]?

Nezaketini Bu yanıt için bana kredi vermek olduğumuzu beri EDIT:, ben bir şey eklemek gerekir. Eğer çıkış daha önce htmlspecialchars'dan yukarıdaki değişkeni () sarılmalıdır. Aksi takdirde birisi de "> ile bir URL yazabilirsiniz, ve bu bağlantı kıracak.

Ben aşağıdaki gibi yaparlar:

<?php echo http_build_query(array_merge($_GET, array('foo'=>'bar', 'foo2'=>'bar2')); ?>

Varolan herhangi bir 'foo' veya 'foo2' tuşları değiştirilmesi olacağını unutmayın.

Değiştirilmiş bir diziden bir sorgu dizesi oluşturmak gerekiyorsa http_build_query() kullanın. Eğer sadece QueryString ["QUERY_STRING"] Önerilen yapmak ve $ _SERVER, geçerli sayfaya gönderilir.

Ben muhtemelen bu yapardı:

$query = mySanitizeFunction($_GET);
$url = http_build_query($query) . '&newVar=2';

Varolan sorgu parametreleri artı geçersiz bit karışımından URL oluşturarak, $_GET içeriği üzerinde döngü için, önerilen en iyi bahis vardır.