Clicky

Ir para conteúdo
MCelow

[PHP] Como pegar nome de usuário em URL

Posts Recomendados

Olá pessoALL,

Tava tentando lembrar aqui como que se faz isso, mas não lembrei, vou explicar:

Por exemplo:

Tenho o link: http://www.dominio.com.br/usuario

Queria saber como que eu faço para pegar esse USUARIO do URL acima em PHP e por em uma variável, e a partir dessa variável fazer uma busca no BD e caso ache mostrar no site as informações desse USUARIO ?

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz da seguinte maneira:


<?
$link = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$result = explode('/',$link);
?>
[/PHP]

Link digitado: http://www.dominio.com.br/paulo

O que eu quero é pegar qualquer nome que venha depois do dominio, como por exemplo PAULO q é o exemplo ai de cima, e do jeito q tá se eu digito um usuario qualquer como no link acima, ele diz q a pasta não existe (erro 404), quero que ele pegue o nome do usuario digitado no URL e faca uma busca no banco de dados.

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não teria que usar essa solução junto com o htacess? Pois digitando qualquer coisa que não exista (no exemplo acima seria como se fosse um diretório) o apache retorna o erro de que não existe. Usando o htacess para redirecionar isso para um determinado arquivo php pode ser a solução. Mas não tenho a mínima idéia de como fazer isso e, conseguindo, coloque aqui a solução!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O htaccess só pode criar a mágica do redirecionamento, mas quem faz a validação é o php. Exemplo rápido:

.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ validausuario.php?usuario=$1
validausuario.php:
<?php

$usuario = (int)stripslashes($_GET['usuario']);


//Faça o sql pra contagem de usuário de validação...

$queryexemplo = mysql_query("SELECT COUNT(*) FROM usuarios WHERE id = $usuario");

$rexemplo = mysql_fetch_num($queryexemplo);


//Condiciona o resultado...

if($rexemplo[0]==1){//Se houver 1 usuário no bd de acordo com a consulta,

    //Redirecionamento válido...

    header('Location: index.php?usuario='.$usuario);

}else{

    //Página não encontrada

    header("HTTP/1.0 404 Not Found");

    header("Status: 404 Not Found");

    $_SERVER['REDIRECT_STATUS'] = 404;

    include('404.html');

    exit(0);

}

Espero que seja útil :-]

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.



O Portal do Host

Dicas para sua empresa de hospedagem. Artigos, notícias, tutoriais e os aspectos da indústria de hospedagem.

Limestone Networks

A LSN tem sido parceira e patrocinadora do PDH, fornecendo uma plataforma segura e confiável.

Cloud - Servidores decicados - Co-location
×