Precisei usar parâmetros na querystring, com ponto no nome deles:

?login.sys=wbruno

Só que o ponto no php é uma estrutura da linguagem. Variaveis com ponto no nome não são válidas.

Isso me impossibilitou de receber o GET, da forma convencional:

echo $_GET['login.sys'];//

Com um var_dump(), percebi que neste caso, o php faz a troca automaticamente, do ponto por um underline:

echo $_GET['login_sys'];//wbruno

Rascunhei rapidamente o seguinte script para “desfazer” essa troca do php, e então usar no restante do projeto, o array $_GET, exatamente como está lá na URL.

<?php
        //var_dump( $_GET, $_GET['login.sys'], $_GET['login_sys'] );//array(1) { ["login_sys"]=> string(6) "wbruno" } NULL string(6) "wbruno"


        var_dump( $_GET['login.sys'] );//NULL


        $newGet = Array();
        foreach( $_GET AS $key=>$value )
        {
                $newGet[ str_replace( '_', '.', $key ) ] = $value;
        }


        $_GET = $newGet;

        echo '<hr />';
        var_dump( $_GET['login.sys'] );//string(6) "wbruno"

E ai ? você já passou por isso ?

Como resolveu ?

@João Batista Neto, resolveu com htaccess:

https://www.facebook.com/neto.joaobatista/posts/470926322933918

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.*)\.(.*)\=(.*)$
RewriteRule .* index.php?%1[%2]=%3 [QSA]

Isso vai fazer:

Então: index.php?user.name=Teste

Virar: index.php?user[name]=Teste

E no PHP, acessamos:

<?php
echo $_GET['user']['name'];