2013-05-17 25 views
5

Ich versuche herauszufinden, warum ein Link zum Entfernen eines Filters auf meiner Site nicht funktioniert. Und es scheint zu sein, weil die Links geändert werden, um% 5B0% 5D und andere Arten von Buchstaben und Zahlen mit% hinzugefügt inWas% 5B0% 5D zur URL hinzufügen würde

von dem, was ich feststellen, das ist die Serialisierungsfunktion verursacht dies?

Gibt es noch etwas, das das verursachen könnte oder ist es definitiv die Serialisierungsfunktion?

+0

Einige Zeichen müssen codiert werden, um im URL-Format zu sein, zum Beispiel das Leerzeichen oder # – meda

+0

% xx wobei xx ein hexadezimaler Code ist, um ein Zeichen darzustellen. '[0]' sagt dein Code. –

+0

also nicht unbedingt von der serialize-Funktion? vielleicht gibt es einen platz, der hinzugefügt werden muss, der nicht sein muss? – Sackling

Antwort

6

Sieht für mich wie ein Array-Index aus. Das sind URL-codierte Werte, die dort hinzugefügt werden. Es wird einige Arbeit brauchen, um herauszufinden, wo. Mein Vorschlag ist es, durch den Code zu gehen, um zu sehen, welche Werte diese Links aufbauen.

+0

es war bisher schwer zu finden. Aber ich habe hauptsächlich nach Serialisierung gesucht. Ich werde jetzt genauer hinsehen – Sackling

3

Vielleicht haben Sie eine URL wie

$url = 'mypage.php?book=$list[0]'; 

statt

$url = "mypage.php?book=$list[0]"; 

Vielleicht auf indirekte Weise (Vorlage?), Sonst würden Sie sie gesehen haben.

+0

oder anstelle von '$ url =" mypage.php? Buch = ". $ List [0];' sogar – Dave

+0

oder vielleicht: '$ url =" mypage.php? Book = {$ list [0 ]} "' – Annabel

10

Sie heißt Percent-encoding und wird zum Codieren von Sonderzeichen in den URL-Parameterwerten verwendet.

[0] enthält Sonderzeichen so, wenn codiert es %5B0%5D

gibt, wo %5B[ darstellt und %5D repräsentieren ]

sucht [0] in Ihrer PHP.

Verwandte Themen