Ir para conteúdo

POWERED BY:

Arquivado

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

Raz

[Resolvido] Problema com as paginas

Recommended Posts

Boa noite a todos.

 

Estou trabalhando em uma pagina de jogos, logo na index eu fiz um quadro que mostra os ultimos 5 replays postados quando você clica no replay ele redireciona você para uma pagina com mais detalhes sobre o jogo, etc...

 

O problema é que ao invez de redirecinar para a pagina do replay em questao, ele redireciona sempre para a pagina do primeiro replay postado.

 

Alguem tem alguma ideia do que pode ser isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

exibir_confrontos.php

<?
$sql = "SELECT TOP 5 * FROM games ORDER BY id DESC";

$resultado = mssql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados");

while ($linha=mssql_fetch_array($resultado)) {

	$id = $linha["id"];
	$tag1 = $linha["tag1"];
	$tag2 = $linha["tag2"];
	$result = $linha["result"];
	$game = $linha["game"];

	switch($game) {
	case 1: $game = "<img src='imagens/jogos/dota.gif'>"; 
		break;
	case 2: $game = "<img src='imagens/jogos/cs.gif'>";
		break;
	case 3: $game = "<img src='imagens/jogos/fifa.gif'>";
		break;
	default : $game = "Error";
	}

	   echo "<tr>
	   		 <td width='10'> </td>
	   		 <td width='120' valign=top><div id='menu' style='padding-left: 5px;'>$game <a href='?p=matches/match.php&id=$id'>$tag1 vs. $tag2</a></div></td>
			 <td width='60' valign=bottom><div style='float: right; padding-right: 20px;'>$result</div></td>
			 <td width='10'> </td>
			 </tr>";

}
?>

http://img380.imageshack.us/my.php?image=confoy8.jpg

 

Dai quando você clica no "Time1 vs. Time2" ele te redireciona pra esta pagina...

 

match.php

<?
$sql = ("SELECT * FROM games WHERE id='$id'");
$resultado = mssql_query($sql);

while ($linha=mssql_fetch_array($resultado)) {

	$id = $linha["id"];	
	$tag1 = $linha["tag1"];
	$tag2 = $linha["tag2"];
	$result = $linha["result"];
	$game = $linha["game"];
	$data = $linha["data"];

?>

<table align="center" id="mainfundo" border="0" cellpadding="0" cellspacing="0">
	<tr>
		<td width="40"> </td>
		<td width="371"><strong><font color="#222222">Resultado</font></strong></td>
	</tr>
</table>
</div>

<table width="400">
	<tr>
		<td valign="top">
<font color="000000">
	<div id="nav">
		<ul>
			<strong><? echo $tag1 ?> vs. <? echo $tag2 ?></strong>
		<br><br>
			Postado em: <? echo $data ?>
		<br><br>
			Resultado: <? echo $tag1 ?> <? echo $result ?> <? echo $tag2 ?>
		<br><br><br>
			<a href="java script:history.back(-1);"><< Voltar</font></a>
		</ul>
	</div>
</font>
		</td>
	</tr>
</table>
   
<? } ?>

Que exibe mais detalhes sobre o jogo, etc...

 

Ele ta exibindo tudo certo no quadro dos ultimos confrontos (exibir_confrontos.php), o problema é que quando você clica no "Time3 vs. Time4" ao invez de exibir os detalhes deste, ele exibe do "Time1 vs. Time2".

 

Tem alguma ideia do que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se está num server na web para que a gente possa testar

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = "SELECT TOP 5 * FROM games ORDER BY id DESC";

$resultado = mssql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados");

Eu não conheço TOP 5 *, acho q tem algum erro ai, pq acho q campo não pode ter espaço e que tb não existe um comando TOP 5

depois o correto é mysql_query.

 

switch($game) {
	case 1: $game = "<img src='imagens/jogos/dota.gif'>"; 
		break;
	case 2: $game = "<img src='imagens/jogos/cs.gif'>";
		break;
	case 3: $game = "<img src='imagens/jogos/fifa.gif'>";
		break;
	default : $game = "Error";
	}

Está construção parece está sem sentido.

 

<a href='?p=matches/match.php&id=$id'>

 

Coloque o endereço completo.

 

No arquivo match.php está faltando $id=$_GET["id"]; e antes disso um tratamento anti-injection

Como é um resultado você não precisa colocar em loop (while)

Compartilhar este post


Link para o post
Compartilhar em outros sites

TOP 5 é comando de MSSQL que é o que eu estou usando, nao MySQL :]

 

Vou ver as coisas que você citou, mais tarde edito aqui se deu algum resultado.

 

Obrigado pela resposta.

 

Edit:

 

Quanto a construção com o switch é para exibir um small icon, para identificar qual jogo é.

 

A parte do...

 

<a href='?p=matches/match.php&id=$id'>

 

É para que seja exibida no lugar da home.php que fica no centro da index, engraçado que se eu coloco assim...

 

<a href='matches/match.php?id=$id'>

 

Funciona perfeitamente, porem em uma pagina em branco.

 

E usando o $_GET nao mudou em nada :|

 

Obrigado mais uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

TOP 5 é comando de MSSQL que é o que eu estou usando, nao MySQL :]

Vou ver as coisas que você citou, mais tarde edito aqui se deu algum resultado.

Obrigado pela resposta.

Edit:

Quanto a construção com o switch é para exibir um small icon, para identificar qual jogo é.

A parte do...

<a href='?p=matches/match.php&id=$id'>

É para que seja exibida no lugar da home.php que fica no centro da index, engraçado que se eu coloco assim...

<a href='matches/match.php?id=$id'>

Funciona perfeitamente, porem em uma pagina em branco.

E usando o $_GET nao mudou em nada :|

Obrigado mais uma vez.

Não conhecia o mssql, mas qto as outras partes. Por exemplo o switch, você repete a mesma variável três vezes, para mim são as mesmas coisas, mas se o resultado sai diferente, então deve ser pq funciona mesmo.

 

Mas o $_GET acho q você precisa mesmo pq senão não funciona só se fosse $_POST, por isso q seu id não ta pegando nenhum valor e tá saindo em branco na página match. Tenta colocar myssql_fetch_assoc para ver se funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O resultado nao é em branco, ele sempre exibe o primeiro id cadastrado, no caso "time1 vs. time2".

 

O que me deixa tao intrigado é que se eu coloco o link assim:

 

<a href='matches/match.php?id=$id'>

 

Ele funciona perfeitamente.

 

Porem assim:

 

<a href='?p=matches/match.php&id=$id'>

 

Nao funciona...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o problema, obrigado pela ajuda nknk :]

 

Refiz a pagina match.php

 

<?

$idgame = $_GET['id'];
$setgame = mssql_query("SELECT * FROM games WHERE Id='".$idgame."'");
$exibe = mssql_fetch_row($setgame);

?>

<table align="center" id="mainfundo" border="0" cellpadding="0" cellspacing="0">
	<tr>
		<td width="40"> </td>
		<td width="371"><strong><font color="#222222">Resultado</font></strong></td>
	</tr>
</table>
</div>

<table width="400">
	<tr>
		<td valign="top">
<font color="000000">
	<div id="nav">
		<ul>
			<strong><? echo $exibe[1] ?> vs. <? echo $exibe[2] ?></strong>
		<br><br>
			Postado em: <? echo $exibe[5] ?>
		<br><br>
			Resultado: <? echo $exibe[1] ?> <? echo $exibe[4] ?> <? echo $exibe[2] ?>
		<br><br><br>
			<a href="java script:history.back(-1);"><< Voltar</font></a>
		</ul>
	</div>
</font>
		</td>
	</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Disponha, mas faça um tratamento de $_GET e $_POST contra anti-injection. Do jeito que está, está vulneravel.

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.