Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Jack Oliveira

URL AMIGAVÉL

Pergunta

REOLA PESSOAL
TOU QUERENDO MONDAR UMA URL PARA MINHA PAGINA PARA NAO APACERER O ID=

E VI ESTE SCRIPT AQUI QUE ME PARECE FAZER ISSO NÃO SEI BEM

<!--
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->

?> <body onLoad="MM_goToURL('self','empresas.php');return document.MM_returnValue"> <?

ESTE SCRIPT AI JA TENTEI COLOCAR ELE MAIS NÃO FUNCIONAL COMO EU TINHA VISTO  O LINK DELE É ASSIM 

HTTPS://*************/tarefas/chat/principal.php?apelido=OLAMUNDOLOUCO&cor_apelido=green
 SO QUE AQUI QUERO SO A PARTE QUE PEGA O NOME

HTTPS://*************/tarefas/chat/principal.php?apelido=OLAMUNDOLOUCO

A ESTRUTURA DA PAGINA ESTA ASSIM  EU GOSTARIA DE SABER ONDE COLOCAR OU FAZER A URL AMIGAVÉL E COMO

<?php
    require_once 'database/conexao.class.php';
    require_once 'database/crud.class.php';

    $con = new conexao(); // instancia classe de conxao
    $con->connect(); // abre conexao com o banco
    @$getId = $_GET['id'];  //pega id para ediçao caso exista
    if(@$getId){ //se existir recupera os dados e tras os campos preenchidos
        $consulta = mysql_query("SELECT * FROM vilhena WHERE id = + $getId");
        $campo = mysql_fetch_array($consulta);

//Busca na tabela o numero de vezes que a página ja foi visitada
$busca = "Select * FROM vilhena WHERE id = {$getId}";
$exe = mysql_query($busca);

$resultado = (mysql_fetch_array($exe));

//Pega o numero de visistas que consta na tabela, adiciona mais um e atualiza
$visitantes = $resultado['visitas'] + 1;
$altera = "UPDATE vilhena SET visitas = '{$visitantes}' WHERE id = '{$getId}'";
$exe1 = mysql_query($altera);

//Faz uma nova busca e retorna o numero de visitas depois da atualização
$exe = mysql_query($busca);
$total = (mysql_fetch_array($exe));
$visitas = $total['visitas'];

    }
    
       if(isset ($_POST['editar'])){ // caso  seja passado o id via GET edita 
        $nome = $_POST['nome']; //pega o elemento com o pelo NAME
        $telefone = $_POST['telefone']; //pega o elemento com o pelo NAME
		$orkut = $_POST['orkut']; //pega o elemento com o pelo NAME
		$cargo = $_POST['cargo']; //pega o elemento com o pelo NAME
		$arquivo = $_POST['arquivo']; 
		$campo2 = $_POST['campo2']; 
		$campo3 = $_POST['campo3'];
		$campo4 = $_POST['campo4']; 
		$campo5 = $_POST['campo5']; 
		$campo10 = $_POST['campo10'];
		$visitas = $_POST['visitas'];
		$instagram = $_POST['instagram'];
		$cliente = $_POST['cliente']; //pega o elemento com o pelo NAME
		$fotocapa = $_POST['fotocapa']; //pega o elemento com o pelo NAME
		$mapa = $_POST['mapa'];  
		$mensagem = $_POST['mensagem']; 
        $crud = new crud('vilhena'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
		$crud->atualizar("nome='$nome',telefone='$telefone',campo2='$campo2',campo3='$campo3',orkut='$orkut',cargo='$cargo',campo10='$campo10',arquivo='$arquivo',visitas='$visitas',campo4='$campo4',campo5='$campo5',instagram='$instagram',,cliente='$cliente',fotocapa='$fotocapa',mapa='$mapa',mensagem='$mensagem'", "id='$getId'");


    }


?>
A MINHA PAGINA ELA ESTA ASSIM 
SITE.COM/EMPRESAS.PHP?ID=4545
SITE.COM/EMPRESAS.PHP?ID=65485
SITE.COM/EMPRESAS.PHP?ID=8888

E QUERO FAZER ELA FICAR MAIS O MENOS ASSIM

SITE.COM/EMPRESAS.PHP?ID=EMPRESA1
SITE.COM/EMPRESAS.PHP?ID=EMPRESA2
SITE.COM/EMPRESAS.PHP?ID=EMPRESA3

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

5 respostas a esta questão

Recommended Posts

Tuan

 

Dá uma pesquisada em URLREWRITE, acho que é o que tu precisa.

Se não for, usando esse script de exemplo, é só tu mudar o $_GET para pegar o nome ao invés do ID.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 2017-6-10 at 11:00, Marlon Pacheco disse:

Tuan

 

Dá uma pesquisada em URLREWRITE, acho que é o que tu precisa.

Se não for, usando esse script de exemplo, é só tu mudar o $_GET para pegar o nome ao invés do ID.

 ola marlon eu ja tentei mudar o ID PELO NOME SO QUE quando vou na pagina ela fica em braco nao puxa nada do banco

e das vezes da erro

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 2017-6-10 at 11:00, Marlon Pacheco disse:

Tuan

 

Dá uma pesquisada em URLREWRITE, acho que é o que tu precisa.

Se não for, usando esse script de exemplo, é só tu mudar o $_GET para pegar o nome ao invés do ID.

teria como tu monta uma base de como eu posso fazer a minha url e onde colocar?
pois ai fiz o que tu valou  fiz dos dois jeito veja ai se esta erradas

so que deu a mesma ele vai com o nome da url la so que os campos da tabela fica em branco

FIZ DESSA AQUI

 $con = new conexao(); // instancia classe de conxao
    $con->connect(); // abre conexao com o banco
    @$getNome = $_GET['nome'];  //pega id para ediçao caso exista
    if(@$getNome){ //se existir recupera os dados e tras os campos preenchidos
        $consulta = mysql_query("SELECT * FROM altoalegre WHERE id = + $getNome");
        $campo = mysql_fetch_array($consulta);


    
       if(isset ($_POST['editar'])){ // caso  seja passado o id via GET edita 
        $nome = $_POST['nome']; //pega o elemento com o pelo NAME
        $telefone = $_POST['telefone']; //pega o elemento com o pelo NAME
        $orkut = $_POST['orkut']; //pega o elemento com o pelo NAME
        $cargo = $_POST['cargo']; //pega o elemento com o pelo NAME
        $arquivo = $_POST['arquivo']; 
        $campo2 = $_POST['campo2']; 
        $campo3 = $_POST['campo3'];
        $campo4 = $_POST['campo4']; 
        $campo5 = $_POST['campo5']; 
        $campo10 = $_POST['campo10'];
        $visitas = $_POST['visitas'];
        $audio = $_POST['audio'];
        $cliente = $_POST['cliente']; //pega o elemento com o pelo NAME
        $fotocapa = $_POST['fotocapa']; //pega o elemento com o pelo NAME
        $mapa = $_POST['mapa'];  
        $mensagem = $_POST['mensagem']; 
        $crud = new crud('altoparaiso'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
        $crud->atualizar("nome='$nome',telefone='$telefone',campo2='$campo2',campo3='$campo3',orkut='$orkut',cargo='$cargo',campo10='$campo10',arquivo='$arquivo',visitas='$visitas',campo4='$campo4',campo5='$campo5',audio='$audio',,cliente='$cliente',fotocapa='$fotocapa',mapa='$mapa',mensagem='$mensagem'", "nome='$getNome'");


e onde direciona a pagina

http://www.liguecerto.com/altoalegre/empresass.php?nome= echo $linha['nome']; ?>



DEPOIS FIZ ASSIM

$con = new conexao(); // instancia classe de conxao
    $con->connect(); // abre conexao com o banco
    @$Nome = $_GET['nome'];  //pega id para ediçao caso exista
    if(@$Nome){ //se existir recupera os dados e tras os campos preenchidos
        $consulta = mysql_query("SELECT * FROM altoalegre WHERE id = + $Nome");
        $campo = mysql_fetch_array($consulta);


    
       if(isset ($_POST['editar'])){ // caso  seja passado o id via GET edita 
        $nome = $_POST['nome']; //pega o elemento com o pelo NAME
        $telefone = $_POST['telefone']; //pega o elemento com o pelo NAME
        $orkut = $_POST['orkut']; //pega o elemento com o pelo NAME
        $cargo = $_POST['cargo']; //pega o elemento com o pelo NAME
        $arquivo = $_POST['arquivo']; 
        $campo2 = $_POST['campo2']; 
        $campo3 = $_POST['campo3'];
        $campo4 = $_POST['campo4']; 
        $campo5 = $_POST['campo5']; 
        $campo10 = $_POST['campo10'];
        $visitas = $_POST['visitas'];
        $audio = $_POST['audio'];
        $cliente = $_POST['cliente']; //pega o elemento com o pelo NAME
        $fotocapa = $_POST['fotocapa']; //pega o elemento com o pelo NAME
        $mapa = $_POST['mapa'];  
        $mensagem = $_POST['mensagem']; 
        $crud = new crud('altoparaiso'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
        $crud->atualizar("nome='$nome',telefone='$telefone',campo2='$campo2',campo3='$campo3',orkut='$orkut',cargo='$cargo',campo10='$campo10',arquivo='$arquivo',visitas='$visitas',campo4='$campo4',campo5='$campo5',audio='$audio',,cliente='$cliente',fotocapa='$fotocapa',mapa='$mapa',mensagem='$mensagem'", "nome='$Nome'");


e onde direciona a pagina

http://www.liguecerto.com/altoalegre/empresass.php?nome= echo $linha['nome']; ?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

 

Pelo que vi teu erro está no select.

SELECT * FROM altoalegre WHERE id = + $Nome

Tu está procurando o nome no campo ID.

 

SELECT * FROM altoalegre WHERE nome = + $Nome

Tenta assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, Marlon Pacheco disse:

Cara,

 

Pelo que vi teu erro está no select.


SELECT * FROM altoalegre WHERE id = + $Nome

Tu está procurando o nome no campo ID.

 


SELECT * FROM altoalegre WHERE nome = + $Nome

Tenta assim.

     ok eu fiz so que  que na pagina aparece  todos os campo vazios

a url quando direciona a pagina aparece  normal por ex: site.com/empresa.php?id=nome%empresa

 

só como eu disse a pagina fica em branco

 

aqui o que eu preciso mudar ainda alguma coisa se for eu ja fiz nome Nome deixa o  id mesmo

 

$con = new conexao(); // instancia classe de conxao
    $con->connect(); // abre conexao com o banco
 nestas parte eu troco --->>>   @$getId = $_GET['id'];  //pega id para ediçao caso exista
 nestas parte eu troco --->>>   if(@$getId){ //se existir recupera os dados e tras os campos preenchidos
        $consulta = mysql_query("SELECT * FROM altoalegre WHERE nome = + $Nome");
        $campo = mysql_fetch_array($consulta);

 

 

eu entendo bem pouco de php

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por RodrigoWD3
      Boa tarde pessoal estou com uma dúvida, seguinte estou criando uma pagina de blog para teste de url amigável ja configurei o .htaccess  , o banco de dados , as postagem com slugs , o problema e que só consigo exibir a noticia completa quando ha uma categoria exemplo .
       
      O site exibe assim :  meusite.com.br/noticias/post-da-noticia/   
      Queria desse jeito: meusite.com.br/post-da-noticia/
       
      porem não queria exibir a categoria noticias, pois os posts vão esta na index
      vou colocar o código da index, acredito que a configuração seja nela
       
      INDEX.PHP
      <?php include "admin/conexao.php"; require_once("include/header.php"); @$url = $_GET['url']; $urlE = explode('/',$url); @$arquivo = $urlE['0']; @$post = $urlE['1']; $paginas = array('empresa','noticias','categoria','contato'); if(isset($post) && $post != ''){ include "single.php"; }elseif(isset($arquivo) && in_array($arquivo, $paginas)){ include "$arquivo.php"; }elseif(isset($arquivo) && $arquivo == ''){ include "home.php"; }else{ include "categoria.php"; } require_once("include/footer.php"); ?>  
    • Por Claudio r Martinez
      Olá amigos, estive pesquisando varios topicos aqui e em outros locais sobre urls amigavel,
      Não encontrei o que preciso e também não consegui adaptar.
      É assim:
      Tenho um site que a url original seria assim: jornadadepodologia.com.br/cursos-detalhes.asp?id_curso=82&curso_nome=ONLINE-PROCEDIMENTOS-PODOLOGICOS-EM-UNHAS-MICOTICAS
      consegui montar a url assim: jornadadepodologia.com.br/new/ONLINE-PROCEDIMENTOS-PODOLOGICOS-EM-UNHAS-MICOTICAS-idpllq82
      onde o "-idpllq82" é o parametro identificador do curso.
      Fiz assim porque eu consigo extrair o ID que é 82 através do SPLIT no ASP.
      Gostaria que a url ficasse assim: jornadadepodologia.com.br/ONLINE-PROCEDIMENTOS-PODOLOGICOS-EM-UNHAS-MICOTICAS
      mas precisava passar os parametros de "id_curso"  para a pagina cursos-detalhes.asp sem aparecer na url, deixando a url como acima.
      Alguém pode me ajudar.
      Desde já, agradeço pela ajuda.
    • Por Jack Oliveira
      Bom dia @Motta Poderia me dar uma pequena ajuda aqui
      estou com uma url amigavel
      ela funciona usando ex: meudominio.com/cidade/nome-do-post/12/
      quero que ele apenas pega o titulo no banco de dados sem precisar pegar o id
      minha url é bem básica
      no meu .HTACCESS
      Fiz assim
      DirectoryIndex index.php ErrorDocument 404 https://www.meusite.com.br/ RewriteCond %{HTTP_HOST} ^meusite\.com\.br$ [OR] RewriteCond %{HTTP_HOST} ^www\.meusite\.com\.br$ [OR] RewriteCond %{HTTP_HOST} ^meusite\.com\.br\/$ RewriteRule ^index\.html\/?(.*)$ "https\:\/\/www\.meusite\.com\.br\/$1" [R=301,L] #------------------------------------------------------------------- #------------------------------------------------------------------- # PERMISSIONANDO REESCRITA #------------------------------------------------------------------- RewriteEngine On # Turn on the rewriting engine # not rewrite css, js and images RewriteCond %{REQUEST_URI} !\.(?:css|js|jpg|gif|png)$ [NC] RewriteRule ^([0-9A-z_-]+)\/([0-9A-z_-]+)\/$ noticias.php?&nome=$1id=$2 [QSA,L,NC] #RewriteRule ^([0-9A-z_-]+)\/([0-9A-z_-]+)\/$ cidade.php?id=$1&nome$2 [QSA,L,NC] #RewriteRule ^buscar index.php [NC,L] <IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> </IfModule> No arquivo noticias.php
      quero que ele ficasse assim
      meusite.com.br/cidade/noticias-do-mundo-geral/
       
      Na função esta assim
      <?php //URL DEBUG CHARACTERS function encodeSEOString($string) { $string = preg_replace("`\[.*\]`U", "", $string); $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i", "\\1", $string); $string = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $string); return strtolower(trim($string, '-')); } ; ?> No html fiz assim
       
      <a href="./<?php echo encodeSEOString($dados['titulo']); ?>/<?php echo $dados["id"]; ?>/" target="_blank"> nesta forma ai em cima ele funciona mais quando inverto para pegar apenas o titulo ele volta para a url principal
      Antes tinha feito assim
      <a href="./<?php echo encodeSEOString($dados['titulo']); ?>/" target="_blank">
       
      Desde já agradeço...
    • Por RodrigoWD3
      Boa tarde pessoal nao sei se estou no tópico correto , gostaria de tira uma duvida quero fazer um sistema de noticias com url amigavel  em codeigniter ja fiz a parte de noticias para exibir e a view porem estou usando a id para exibir as noticias e o que eu gostaria de fazer era usar a url do titulo da noticia ficando uma url amigavel alguém teria algum tutorial para eu poder estudar obrigado
    • Por Paulo Oliveira Albuquerque
      Ola bom dia galera  se alguem poderia me dar uma ajuda na minha url amigavél,
      Ela funciona de boa 
      mais tenho dois problemas que esta me dando já dor de cabeça
      1º - Quando abre o link da url ex: meusite.com/produtos/23/nome-produtos  se eu por algo  a mais na frente desta url ela aceita e eu gostaria que que ele não aceitasse nada mais além do que foi feito o chamado  se ele for apenas assim ex2:  meusite.com/produtos/23/nome-produtos que nela não aceita se digitar na frente em um navegador qualquer mais coisa ex3:  meusite.com/produtos/23/nome-produtos-novo-uyuy   e nem aceitar se alguem digitar ou mesmo tentar fazer isso  meusite.com/produtos/23/  ou isso aqui  meusite.com/produtos.php?id=23
       
      2ª Minha Url amigavél quando ela e feito o shared em uma rede social quando eu clico dentro da rede social pra abrir a pagina ela esta vindo diferente do que foi postado ele aparece assim quando eu clico para abrir
       
      meusite.com/pasta/produtos/23/nome-produtos /><!-- ==================================================================================================================================== --> <link rel=?fbclid=Mgsgs-swwfw-dwedwedwewf-wefwefwhgygygygjhjnjnjnjnjn#.HDHDHDHDJ-messenger
      e as vezes assim
      meusite.com/pasta/produtos/23/nome-produtos?fbclid=Mgsgs-swwfw-dwedwedwewf-wefwefwhgygygygjhjnjnjnjnjn#.HDHDHDHDJ-messenger
       
      era pra ele aparecer assim quando clicar
      meusite.com/produtos/23/nome-produtos 
       
      No meu HTACCESS ESTA ASSIM
       
      #------------------------------------------------------------------- # PERMISSIONANDO REESCRITA #------------------------------------------------------------------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f #------------------------------------------------------------------- # EXTENSAO PHP #------------------------------------------------------------------- RewriteRule ^(.*)$ $1.php #------------------------------------------------------------------- # URL AMIGAVEL #------------------------------------------------------------------- RewriteRule ^produtos\/?([0-9]+)\/?(.+)\/?$ produtos.php?id=$1 RewriteRule ^sobre\/?([a-z]+)\/?(.+)\/?$ sobre.php RewriteRule ^index\/?([a-z]+)\/?(.+)\/?$ index.php RewriteRule ^contato\/?([a-z]+)\/?(.+)\/?$ contato.php RewriteRule ^buscar\/?([a-z]+)\/?(.+)\/?$ buscar.php e a minha função esta assim
       
      <?php //URL DEBUG CHARACTERS function encodeSEOString($string) { $string = preg_replace("`\[.*\]`U", "", $string); $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i", "\\1", $string); $string = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $string); return strtolower(trim($string, '-')); } ; ?> Meu link pra abrir a pagina esta assim
       
      <a href="meusite.com/pasta/produto/<?php echo $id; ?>/<?php echo encodeSEOString($prod_nome); ?>">Listar</a> Obs: como eu disse ela abre normal sem problemas o unico problema que estou tendo foi as que eu sitei ai em cima
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.