Ir para conteúdo

POWERED BY:

Arquivado

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

vitinho.vitor

[Resolvido] Acento em URL

Recommended Posts

Olá, tenho um sistema e busca que pega dados de 2 selects e busca no banco de dados. As duas opções ficam na URL, tudo bem mas quando tem acento a URL fica assim /busca.php?cidade=SP+-+Apia%ED&tipo=camping e não realiza a busca e alega quem nao possui registros. Mas se você muda na propria URL de Apia%ED para Apiaí a busca é realizada. Como eu faço para que isso nao aconteça?

Segue o form:

<form action="busca.php" method="POST">
<DIV id='posiciona1'><center><b>
<font size='4'><b><br>Pesquisar:</font>
<select name='cidade' class='formfaixa'>
	<optgroup label="Cidades:">
	<option value='%%'>Todas</option>
<?php
$db = mysql_select_db("w18kilatemvet11");
$sql = mysql_query("SELECT cidade FROM acantonamento UNION SELECT cidade FROM camping UNION SELECT cidade FROM pesqueiro ORDER BY cidade");

while ($row = mysql_fetch_array($sql)) 
{
    echo "<option value='$row[cidade]'>$row[cidade]</option>";
}

?>
</optgroup>
</select>

<select id='branco' name='tipo' class='formfaixa'>
	<optgroup label="Em:">
	<option value='camping'>Camping</option>
	<option value='acantonamento'>Acantonamento</option>
	<option value='pesqueiro'>Pesqueiros</option>
</optgroup>
</select> 

<input type="submit" title="Buscar" value="Buscar" id="MENU:BUSCAD" class="but_sec_1" style="cursor:pointer;"></div></form>                   
e o busca.php :

<html>
<head>
<meta content='text/html; charset=ISO-8859-1 http-equiv='Content-Type'/>
<title>ACAMPI - O Site dos Campistas</title>
<style type='text/css'>

#posiciona1{

	height: 50px;
	position: absolute;
	top: 260px;
	left: 490px;
	z-index:1;
}

#posiciona2{
	width: 172px;
	height: 50px;
	position: absolute;
	top: 230px;
	left: 370px;
}

#posiciona3{
	width: 172px;
	height: 50px;
	position: absolute;
	top: 220px;
	left: 360px;
}
</style>
<style>
a:link {color: #228B22; text-decoration:none}
a:hover {color: red; text-decoration:underline;}
a:active {color: red;}
a:visited {color: #228B22;}
</style>
<style>
.but_sec_1{
	font-size:13px;
	font-family:Arial,sans-serif;
	font-weight:bold;
	color:#fff!important;
	cursor:pointer;
	border:1px solid #333;
	background:#2E8B57 repeat-x scroll 0 -325px;
	margin-top:-1px;
	padding-bottom:2px!important;
}
</style>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-17118361-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>
<body>
<TABLE center width='95%' border='0' cellspacing='0' cellpadding='0'>
	<TR><body topmargin=0 leftmargin=0 rightmargin=0>
	<TH colspan='3'><p align='right'>
<font face='arial' size='2' color='#228B22'>
	<a href='index.php'>Home</a></b> | <b>
	<a href='classificados.php'><font color='red'><blink>Anuncie!</blink></font></a></b> | 
	<a href='indique.html'><b> Indique esse Site</a></b> | <b>
	<a href='fale conosco.html'>Contato</b></a></font><br></p></TH>
</body></TABLE></font>
<font face='Bradley Hand ITC' color='Yellow'>
<center><DIV id=''><center><img src='images\logo.png' widht='110' height='150'><br><br>
<center><b><font size='5' face="arial" color="forestGreen"><b>Resultado da Pesquisa:</center></font><font face="arial"></div><center><br>
<input type="submit" name="voltar" value="Voltar" class="but_sec_1" style="cursor:pointer;" onClick="javascript:history.back(1)">
<br><br>
<?php
header("Content-Type: text/html; charset=ISO-8859-1", true);
$db = mysql_select_db("w18kilatemvet11");
$sql = mysql_query("SELECT nome , cidade FROM $tipo WHERE  `cidade` LIKE CONVERT( _utf8 '$cidade'
USING latin1 ) 
COLLATE latin1_general_ci
ORDER BY  `cidade` ASC ");
$cont = mysql_num_rows($sql);if($cont==0){
  echo "<font face='arial' color='forestGreen'><center><h4><br><br><br>Não existem dados Nessa Cidade<br><a href='form_est.html'>Conheço um Estabelecimento Nessa Cidade!</a></h4></center>";
}

else{


$cont = 1;

echo "<table  width='390' height='0' border='0' align='center' cellpadding='3' cellspacing='0' style='display:inline' class='justifCopi'>
	<center><td width='150'  bgcolor='#414141' class='dest'><font face='arial' color='#CCCCCC' size='4'><center>Nome</center></font></td> 
    	<td  class='dest' width='150' bgcolor='#414141'><font face='arial' color='#CCCCCC' size='4'><center>Cidade</center></font></td>";

while ($row = mysql_fetch_array($sql)) 
{
if ($cont % 2 == 0)
{
$cor = "images/frank.jpg";
}
else
{
$cor = "images/frank2.jpg";
}

echo "<tr style='background: url(".$cor.")'>";
echo "<td><center><b><font color='blue' size='3'><a href='".$tipo.".php?nome=".$row['nome']."' target='popupwindow' onclick='window.open('www.tallybaby.com.br/acampi', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'>".$row['nome']."</a></td>";
echo "<td><center><b><font color='blue' size='3'><a href='".$tipo.".php?nome=".$row['nome']."' target='popupwindow' onclick='window.open('www.tallybaby.com.br/acampi', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'>".$row['cidade']."</a></td>";
echo "</tr>";
$cont = $cont + 1;
}
}
?>
</body>
</html>

O que acontece?

 

Desde já agradeço

Vitor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, o teu formulário usa o método POST, então como está indo para a URL?

Segundo, assumindo que realmente está indo para URL, nesse caso você precisará o urldecode.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, me desculpe, alterei o código pouco antes do tópico e realmente não está mais aparecendo na URL. Tem como consertar isso? Porque mesmo sem aparecer no URL ele não realiza a busca direito com acentos.

 

Obrigado

Vitor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente alterar de:

$sql = mysql_query("SELECT nome , cidade FROM $tipo WHERE  `cidade` LIKE CONVERT( _utf8 '$cidade'USING latin1 ) COLLATE latin1_general_ciORDER BY  `cidade` ASC ");

Para:

$sql = mysql_query("SELECT nome , cidade FROM $tipo WHERE cidade LIKE '%$cidade%' ORDER BY cidade ASC ");

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde você está recebendo o valor da variável $teste??

$sql = mysql_query("SELECT nome , cidade FROM $tipo WHERE cidade LIKE '%$cidade%' ORDER BY cidade ASC ");

Essa variável é o nome da tabela que será feita a pesquisa, verifique isso.

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde está essa variável $teste?

Não estou achando, será que é melhor fazer isso em GET? Fica mais fácil, para mim não faz diferença.

 

obrigado

 

Consegui Resolver! Obrigado

 

[RESOLVIDO]

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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