Jump to content


math01

Member Since 20/09/2011
Offline Last Active 31/05/2012, 01:25
-----

Topics I've Started

Buscar Próximo Valor Da Mesma Coluna

24/05/2012, 15:23

Como eu faço um link para o próximo valor existente de uma coluna?

Eu achei soluções para ID Auto_Increment, mas para mim não é o suficiente.

explicando um pouco melhor:

Tenho a tabela chamada "paginas" com as colunas nome, link.
Vamos supor que tenho valores nessa tabela.

Nome ------- Link
-------------------
pagina1 ----- link1
pagina2 ----- link2
pagina3 ----- link3
-------------------

Estou numa página que representa o "link1" da COLUNA "Link" e quero fazer um link(href) de "Próxima página" para o "link2"(do link2 pro link3 e assim por diante), sem ter que BUSCAR o valor exato, claro, quero que o comando já saiba que o VALOR é o proximo da coluna LINK e então adiciona-lo em um link de PROXIMA PAGINA..

alguma luz? É possivel fazer sem usar ID ? Obrigado.

2 Valores No Link?

18/11/2011, 05:21

Sou iniciante e estou tendo dificuldades para melhorar um sistema de notícias.
Espero que eu consiga explicar direito, vamos lá...

As noticias são exibidas por um include "noticias.php"; na index.php.

na minha index.php eu costumo gerenciar o conteudo dentro de uma div central da seguinte forma:

<div id="central>
<?php include "paginas.php"; ?>
</div>

paginas.php:


<?php

$permitidos = array('home.php', 'downloads.php', 'infos.php');

if (isset($_GET['pg']) AND (array_search($_GET['pg'], $permitidos) !== false)) {

$arquivo = $_GET['pg'];
} else {

$arquivo = 'home.php';
}
include ($arquivo);
?>



assim ficando a home.php exibida como padrão e os links do meu menu da dessa forma < a href="?pg=downloads.php" >

-

agora vou explicar oq eu quero exatamente..


noticias.php :


<?php include "config.php"; ?>
<?php

$query_noticias = "select * from tbl_noticias where status = 'Sim' ORDER BY id_noticia DESC limit 10";
$rs_noticias = mysql_query($query_noticias);

while($campo_noticias = mysql_fetch_array($rs_noticias)){

$id_noticia = $campo_noticias['id_noticia'];
$data_noticia = $campo_noticias['data'];
$descricao_noticia = $campo_noticias['descricao'];
$titulo_noticia = $campo_noticias['titulo'];

?>


<?php echo $data_noticia;?>
<A class="link-news" title='<?php echo $descricao_noticia; ?>' href="javascript:abrir('noticias-descricao.php?id_noticia=<?php echo $id_noticia; ?>');"> <?php echo $titulo_noticia; ?></A>

<?php } ?>


Como podem ver, ao clicar nessa noticia, ela abre uma pop-up do arquivo noticias-descricao.php com o valor id_noticia=$id_noticia..

noticias-descricao.php:


<?php include "config.php"; ?>

<?php

$id_noticia = $_GET['id_noticia'];
$query_noticias = "select * from tbl_noticias where id_noticia = '$id_noticia' AND status = 'Sim'";
$rs_noticias = mysql_query($query_noticias);

$campo_noticias = mysql_fetch_array($rs_noticias);

$id_noticia = $campo_noticias['id_noticia'];
$data_noticia = $campo_noticias['data'];
$titulo_noticia = $campo_noticias['titulo'];
$descricao_noticia = $campo_noticias['descricao'];
$texto_noticia = $campo_noticias['msg'];
$fonte_noticia = $campo_noticias['autor'];
$imagem_noticia = $campo_noticias['nome_arquivo'];

?>

<?php echo $titulo_noticia; ?>

<?php echo $descricao_noticia; ?>

<?php if ($imagem_noticia){ echo "<img src='imagens/noticias/$imagem_noticia' align='center' border='0'>"; } ?>

<?php echo $texto_noticia; ?>

<?php if($fonte_noticia != ""){ echo $fonte_noticia; }else{ echo "não informado";} ?> Data: <?php echo $data_noticia; ?>




O que eu quero, é exibir a noticias na DIV CENTRAL, que mostrei no começo, sem abrir uma pop-up, entende? Com a minha pouca experiencia eu nao estou conseguindo achar uma solução pra isso.

Pra um entendimento completo, mostrarei o cadastro da noticia.


Cadastrar.php (colocarei apenas os inputs pra nao ficar muito grande)


<form action="script_noticias.php?acao=cadastrar" Method="post" enctype="multipart/form-data">

<input name="titulo" type="text" id="titulo" size="50" maxlength="75">
<input name="descricao" type="text" id="descricao" size="50" maxlength="100">
<input type="file" name="nome_arquivo" id="nome_arquivo" size="50">
<textarea name="msg" id="msg" cols="90" rows="18" border='1'></textarea>

<select name='status' id='ativo' >
<option value="Sim" selected>Sim</option>
<option value="Não">Não</option>
</select>

<input name="autor" type="text" id="subtitulo" size="30" maxlength="50">

<?php if (!isset($id_noticia))
$id_noticia = ""; ?>

<input name="id_noticia" type="hidden" value="<?php echo $id_noticia; ?>">
<input type=submit value="Cadastrar Notícia" border=0 name='submit' class="cadastra">

</form>



E agora a ação do formulario:

script_noticias.php?acao=cadastrar


<?php

$acao = $_GET['acao'];
switch ($acao) {

case "cadastrar":

function trocar_acentos ($nome_arquivo)
{
$nome_arquivo = str_replace(' ','_',$nome_arquivo);
$nome_arquivo = str_replace('á','a',$nome_arquivo);
$nome_arquivo = str_replace('Á','a',$nome_arquivo);
$nome_arquivo = str_replace('é','e',$nome_arquivo);
$nome_arquivo = str_replace('É','e',$nome_arquivo);
$nome_arquivo = str_replace('í','i',$nome_arquivo);
$nome_arquivo = str_replace('Í','i',$nome_arquivo);
$nome_arquivo = str_replace('ó','o',$nome_arquivo);
$nome_arquivo = str_replace('Ó','o',$nome_arquivo);
$nome_arquivo = str_replace('ú','u',$nome_arquivo);
$nome_arquivo = str_replace('Ú','u',$nome_arquivo);
$nome_arquivo = strtolower($nome_arquivo);

return $nome_arquivo;
}

$nome_arquivo = trocar_acentos ($_FILES['nome_arquivo']['name']);
$nome_arquivo_extensao = substr($nome_arquivo,strpos($nome_arquivo,'.')+1,strlen($nome_arquivo)-strpos($nome_arquivo,'.'));
$nome_arquivo_tamanho = $_FILES['nome_arquivo']['size'];
$nome_arquivo_descricao = $_POST['nome_arquivo_descricao'];
$nome_arquivo_data = date_default_timezone_set('America/Sao_Paulo');

$uploaddir = "../imagens/noticias/";
$data = time();

if ($nome_arquivo != ""){
if (file_exists($uploaddir.$nome_arquivo))
{
$nome_arquivo = mktime()."_".$nome_arquivo;
}
}

move_uploaded_file($_FILES['nome_arquivo']['tmp_name'], $uploaddir . $nome_arquivo);

$titulo = $_POST['titulo'];
$descricao = $_POST['descricao'];
//$destaque = $_POST['destaque'];
$autor = $_POST['autor'];
$status = $_POST['status'];
$msg = $_POST['msg'];
$msg = preg_replace("/\r\n|\n|\r/", '<br>', $msg);
$data_publicacao = date("d/m/Y");

if (empty($titulo)) {
echo '<script>alert("Preencha os campos corretamente.");</script>';
echo '<script>history.back(-2)</script>';
}
else {
$query = "insert into tbl_noticias(titulo, descricao, autor, msg, nome_arquivo, data, status) values ('$titulo', '$descricao', '$autor', '$msg', '$nome_arquivo', '$data_publicacao', '$status')";
$rs= mysql_query($query);

?>

<script LANGUAGE="JavaScript" TYPE="text/javascript"> alert ("\n Notícia cadastrada com sucesso!")</SCRIPT>
<script language="JavaScript">window.location.href="principal.php";</SCRIPT>

<?php

break;
}

} //fecha acao



Bom é isso, so pra resumir:

Tenho a div "central" na index.php e quero clicar no link da noticia e fazer com que ela seja exibida na mesma pagina, sem ter q abrir pop-up, o mesmo caso do meu menu que utilizo o arquivo paginas.php...

Quem puder me ajudar serei eternamente grato! muito obrigado!

Problema Com Verificação De Usuário Logado

29/09/2011, 20:42

Fala galera, tudo certo?

Estou com um problema! Estou criando um sistema simples da seguinte forma (resumidamente):

O usuário acessa com um login (index.php) e a página restrita(administra.php) tem uma opçao de cadastrar um novo usuario(cadastrar.php) para acessar esse mesmo painel.

Todas as páginas depois da index.php, tem um <? include "verifica.php" ?> no inicio do código. Caso alguém tente colar no navegador, por exemplo: www.meusite.com/cadastrar.php , aparece um Alert e a página volta para index.php (login). Só que NESSE MEIO TEMPO, a página cadastrar.php APARECE e se o cara dar um stop no navegador e o pior!!! ele consegue cadastrar um novo usuário!!!! hahah

OQUE FAZER?

verifica.php
<?
session_start();

include "config.php";

if(isset($_SESSION["login_usuario"]) AND isset($_SESSION['senha_usuario'])){

	$login_usuario = $_SESSION["login_usuario"];
	$senha_usuario = $_SESSION["senha_usuario"];
	
$sql = mysql_query("SELECT * FROM adm WHERE login = '$login_usuario'");
$cont = mysql_num_rows($sql);
while($linha = mysql_fetch_array($sql)){
	$senha_db = $linha['senha'];
}

if($cont == 0){

	unset($_SESSION["login_usuario"]);
	unset($_SESSION["senha_usuario"]);

	echo "
	<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
	<script type=\"text/javascript\">
	alert(\"O nome de usuario não corresponde.\");
	</script>";
	
}

if($senha_db != $senha_usuario){//confere senha
	
	unset($_SESSION["login_usuario"]);
	unset($_SESSION["senha_usuario"]);
	
	echo "
	<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
	<script type=\"text/javascript\">
	alert(\"A senha não corresponde.\");
	</script>";
	
}
	
}else{
	
	echo "
	<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
	<script type=\"text/javascript\">
	alert(\"O usuario e senha não correspondem.\");
	</script>";
	
}

?>

cadastrar.php
<? 
include "verifica.php";
?>
<!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 href="css/administra.css" rel="stylesheet" type="text/css" />
<title>Cadastro de Administrador</title>
</head>
<? 
include "config.php";
?>
<body>
<? include "painel-topo.php"; ?>
<div id="newadmin">
<p style="font: bold 19px tahoma; color: #333; margin:0 auto; padding:0;">Cadastro de Administradores</p>
<center><div style="height:20px;"></div><form name="form2" id="form2" method="post" action="cadastrar_admin.php">
<table width="298" border="0" cellspacing="5" cellpadding="5">
<tr>
<td width="95"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome:</font></td>
<td width="229"><input name="nome" type="text" id="nome" maxlength="75"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></td>
<td><input name="login" type="text" id="login" maxlength="30"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td>
<td><input name="senha" type="password" id="senha" maxlength="30"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="enviar" type="submit" id="enviar" value="Cadastrar">
</div></td>
</tr>
</table>
</form></center>
</div>
</body>
</html>

cadastrar_admin.php
<? 
include "verifica.php"
?>
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Erro ao conectar: ' . mysql_error());
  }

mysql_select_db("meubanco", $con);
		
$nome = $_POST['nome'];
$login = $_POST['login'];
$senha = $_POST['senha'];
if(empty($_POST['nome']) && empty($_POST['login']) && empty($_POST['senha'])){
	echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
	<center><h1>Preencha os campos corretamente!</h1></center><br />
	<center>Você será redirecionado em alguns segundos.</center>";
}
$sql1 = mysql_query("SELECT * FROM adm WHERE login='$login'");
	if (mysql_num_rows($sql1)>1) {
	echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
	<center><h1>O login digitado já existe!</h1></center><br />
	<center>Você será redirecionado em alguns segundos.</center>";

}else{
$sql	= mysql_query("INSERT INTO adm (nome, login, senha) VALUES ('$nome','$login','$senha')");
if ($sql) {
  die('Error: ' . mysql_error());
  }
	echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
	 <center><h1>Usuário cadastrado com sucesso!</h1><br />
	 Você será redirecionado em alguns segundos.</center>";

}
mysql_close($con)

?>

O que tem de errado?
Aguardo ajuda, obrigado!

IPB Skin By Virteq