2017-02-09 4 views
0

abgerufen werden. Es konnte kein Wert von der URL abgerufen werden.Es konnte kein Wert von der URL

localhost/ddd.php?udh=%05%00%03%6d%03%01 

Wenn ich versuche, diese URL zu kopieren und einfügen, um zu Adressleiste "localhost/ddd.php? UDH =% 05% 00% 03% 6d% 03% 01" wandelt auf "http://localhost/ddd.php?udh=%05%00%03m%03%01" Gibt es eine Erläuterung?

Auch ich bin zu bekommen _GET $ nicht in der Lage [ ‚UDH‘], druckt es:

array (size=1) 
    'udh' => string '�m' (length=6) 
+1

Werfen Sie einen Blick auf 'urlencode()' und 'urldecode()' – Jer

+0

urlencode ($ _ GET ['udh']) druckt "% 05% 00% 03m% 03% 01 "insidered of"% 05% 00% 03% 6d% 03% 01 " – user3351236

+0

Sie müssen die URL nicht explizit codieren. Browser sorgen dafür, dass bestimmte Zeichen in der URL automatisch codiert werden. Hier müssen Sie nur die URL dekodieren. Entschlüsseln Sie die URL nur mit 'urldecode()'. 'urldecode ($ _ GET ['udh'])' ist alleine genug. – Perumal

Antwort

0

sein können Sie Ihre Nachricht urlencode() mit kodieren sollten und wenn die Nachricht $_GET mit Zugriff haben Sie es zu entschlüsseln mit urldecode().

HTML

<a href ="localhost/ddd.php?udh=".<?php urlencode('message');?>></a> 

PHP

$value = urldecode(isset($_GET['udh'])); 
+0

Sie müssen die URL nicht explizit codieren. Browser sorgen dafür, dass die URL automatisch kodiert wird. Hier müssen Sie nur die URL dekodieren. – Perumal

0

Von W3C Schulen:

URL-Kodierung (Prozent Encoding) URLs können nur über das Internet gesendet werden, unter Verwendung von der ASCI Ich habe Zeichen gesetzt.

Da URLs oft Zeichen außerhalb des ASCII-Satzes enthalten, muss die URL in ein gültiges ASCII-Format konvertiert werden.

Die URL-Codierung ersetzt unsichere ASCII-Zeichen durch ein "%" gefolgt von zwei hexadezimalen Ziffern. URLs dürfen keine Leerzeichen enthalten. Die URL-Codierung ersetzt normalerweise ein Leerzeichen durch ein Pluszeichen (+) oder durch% 20.

Also, wenn Sie die Zeichenfolge %05%00%03%6d%03%01 in einem Browser wird automatisch versucht, es do zu dekodieren für% Zeichen suchen, in Ihrem Fall passiert es, dass% 6d = m.

Nicht sicher, ob Sie% als Trennzeichen verwenden, aber Sie könnten zu: oder | wechseln Verwenden Sie explode, um es zu extrahieren (http://php.net/manual/en/function.explode.php)

Verwandte Themen