Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, pessoal!
Bem, mais uma vez, peço-lhes ajuda. Estou a modificar um sistema simples que fiz com base em um video-tutorial a uns tempos atrás (estou iniciando em PHP).
Bem, gostaria de saber se há algum modo de fazer com que quando fosse inserido uma nova postagem, fosse gerado um link automático, que redirecionasse para uma página que receberia o id da postagem.
Para análise direta, meus arquivos são esses:
exibir.php
<?php
//inclusão da conexão com banco de dados
require('conexao.php');
//A quantidade de valor a ser exibida
$quantidade = 3;
//a pagina atual
$pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1;
//Calcula a pagina de qual valor será exibido
$inicio = ($quantidade * $pagina) - $quantidade;
//Monta o SQL com LIMIT para exibição dos dados
$sql = "SELECT * FROM mensagens ORDER BY data DESC LIMIT $inicio, $quantidade";
//Executa o SQL
$qr = mysqli_query($GLOBALS["___mysqli_ston"], $sql) or die(((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));
//Percorre os campos da tabela
while($ln = mysqli_fetch_assoc($qr)){
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" />
<title>Postagem</title>
</head>
<body>
<div id="wrapper">
<div class="postagens">
<div class="titulo">
<a href="?"><?php echo $ln['titulo'];?></a>
</div>
<div class="foto">
<img src="<?php echo $ln['foto'];?>" width="150px" height="150px"/>
</div>
<div class="descricao">
<strong><span style="color:#FF0000">Descrição: </strong></span><?php echo $ln['descricao']?>
</p>
<strong><span style="color:#FF0000">Postado em: </strong></span><?php echo $ln['data']?>
</div>
</div>
</div>
<?php }?>
<?php
/**
* SEGUNDA PARTE DA PAGINAÇÃO
*/
//SQL para saber o total
$sqlTotal = "SELECT id FROM mensagens";
//Executa o SQL
$qrTotal = mysqli_query($GLOBALS["___mysqli_ston"], $sqlTotal) or die(((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));
//Total de Registro na tabela
$numTotal = mysqli_num_rows($qrTotal);
//O calculo do Total de página ser exibido
$totalPagina= ceil($numTotal/$quantidade);
/**
* Defini o valor máximo a ser exibida na página tanto para direita quando para esquerda
*/
$exibir = 3;
/**
* Aqui montará o link que voltará uma pagina
* Caso o valor seja zero, por padrão ficará o valor 1
*/
$anterior = (($pagina - 1) == 0) ? 1 : $pagina - 1;
/**
* Aqui montará o link que ir para proxima pagina
* Caso pagina +1 for maior ou igual ao total, ele terá o valor do total
* caso contrario, ele pegar o valor da página + 1
*/
$posterior = (($pagina+1) >= $totalPagina) ? $totalPagina : $pagina+1;
/**
* Agora monta o Link paar Primeira Página
* Depois O link para voltar uma página
*/
/**
* Agora monta o Link para Próxima Página
* Depois O link para Última Página
*/
?>
<div id="paginacao">
<?php
echo '<a href="?pagina=1">primeira</a> | ';
echo "<a href=\"?pagina=$anterior\">anterior</a> | ";
?>
<?php for($i = $pagina-$exibir; $i <= $pagina-1; $i++){
if($i > 0)
echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
}
echo '<a href="?pagina='.$pagina.'"><strong>'.$pagina.'</strong></a>';
for($i = $pagina+1; $i < $pagina+$exibir; $i++){
if($i <= $totalPagina)
echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
}
/**
* Depois o link da página atual
*/
/**
* O loop para exibir os valores à direita
*/
?>
<?php
echo " | <a href=\"?pagina=$posterior\">próxima</a> | ";
echo " <a href=\"?pagina=$totalPagina\">última</a>";
?>
</div>
</body>
</html>
exibir_dados.php
<link rel="stylesheet" href="style.css" />
<?php
$titulo = htmlentities($_POST['titulo']);
$descricao = htmlentities($_POST['descricao']);
$autor = htmlentities($_POST['autor']);
$texto = htmlentities($_POST['texto']);
//se existir o arquivo
if(isset($_FILES["arquivo"])){
$arquivo = $_FILES["arquivo"];
$pasta_dir = "images/";//diretorio dos arquivos
//se nao existir a pasta ele cria uma
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}
$foto = $pasta_dir . $arquivo["name"];
// Faz o upload da imagem
$teste=move_uploaded_file($arquivo["tmp_name"], $foto);
if(!$teste)echo "nao copiou o arquivo!!";
exit (0);
}$cn = ($GLOBALS["___mysqli_ston"] = mysqli_connect('localhost', 'root', ''));
((bool)mysqli_query($cn, "USE test"));
$inserir = mysqli_query($GLOBALS["___mysqli_ston"], "insert into mensagens (foto, titulo, descricao, autor, texto) VALUES ('$foto', '$titulo', '$descricao', '$autor', '$texto')"); // Insere os valores Nome e Mensagem no Banco de Dados.
print "<strong><span style='color:#009933;'>Postagem Concluída!</strong></span><hr>";
print "<strong><span style='color:#bb0000;'>Título: </span></strong>$titulo<br/>";
print "<strong><span style='color:#bb0000;'>Autor: </span></strong>$autor<p>";
print "<strong><span style='color:#bb0000;'>Imagem: <br/></span></strong>O arquivo <strong><i>'$foto'</></strong> foi inserido no banco de dados <br/>";
}
?>
<hr>
<a href="enviar.php">Voltar</a>Página "Exibir.php"
<a href="?"><?php echo $ln['titulo'];?></a>
Onde coloquei "?" seria o link do título da postagem (circulado em azul, na imagem abaixo).
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.tickimg.com.br/uploads/_post.png&key=c4d531cd5a501c75a233578c1c60c664667bed787f3a492d7e52c316f251831a" alt="_post.png" />
O que devo colocar no "?" do href para redirecionar para a página "postagem.php", e nesta mesma página "postagem.php", como criar ela e chamar apenas os valores (no caso, titulo, autor, texto e data) de acordo com a ID do título do post clicado anteriormente na página "exibir.php"?
Agradeço quem puder me dar uma luz ai
Abraço :yes:
Carregando comentários...