Jump to content

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


Recommended Posts

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!

Link to comment
Share on other 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

Link to comment
Share on other 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!

Link to comment
Share on other 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 :-]

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?