Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Recorrendo mais uma vez ao forum (minha salvação). Salve galera!!! Através do forum aprendi basicamente tudo que sei de php e mysql (ainda não sei muita coisa, mas to pelejando para aprender, rsrsr), enfim, Desenvolvi um sisteminha simples de login e senha, agora me deparei com outra duvida, após o usuário cadastrar no sistema, ele entra na pagina restrita onde tem outro formulário para cadastro de produtos, como faço com que esse usuário possa acessar apenas o cadastro feito por ele? Podendo assim também editar e excluir o mesmo? Desde já agradeço.
Eu sei editar e excluir dados do banco de dados, o que eu não sei é a lógica para que o usuário cadastrado possa fazer isso apenas com os dados que ele mesmo cadastrou, q ele possa acessar apenas os dados deles e de mais nenhum outro usuário.
Roberto, agradeço pelo link q mandou, muito interessante...
Você tem que mostrar os dados apenas do usuário que está acessando, filtrando por meio do ID dele.
Por exemplo
SELECT campos FROM tabela WHERE id = id_do_usuario_logado;
No UPDATE é a mesma coisa:
UPDATE tabela SET campo1 = 'valor', campo2 = 'valoe2' WHERE id = id_do_usuario_logado;Hum! Me esclareceu bastante, vou ver o que sai agora, obrigado!
Pois é galera, passei o dia todo hj tentando, mas nãoconseguir, vou postar meus códigos aqui, se alguém puder ajudar, agradeço muito.
Banco de dados
--
-- Estrutura da tabela tb_obras
--
CREATE TABLE `tb_autor` (
`ID_autor` smallint(6) unsigned NOT NULL auto_increment,
`Login_autor` varchar(80) NOT NULL,
`Senha_autor` char(9) NOT NULL,
`Nome_autor` varchar(160) NOT NULL,
`Endereco_autor` varchar(200) NOT NULL,
`Cidade_autor` varchar(80) NOT NULL,
`Estado_autor` char(2) NOT NULL,
`CEP_autor` char(9) NOT NULL,
`Pais_autor` char(50) NOT NULL,
`Tel_autor1` char(20) NOT NULL,
`Tel_autor2` char(20) NOT NULL,
`Email_autor` char(80) NOT NULL,
`Sexo_autor` varchar(45) NOT NULL,
`Nasc_autor` date NOT NULL,
`CPF_autor` varchar(11) NOT NULL,
`Editora_autor` enum('yes','no') NOT NULL default 'yes',
`Foto_autor` char(32) NOT NULL,
`Como_autor` varchar(100) NOT NULL,
`DataCad_autor` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`ID_autor`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Tabela de cadastro de autores' AUTO_INCREMENT=3 ;
--
-- Estrutura da tabela tb_obras
--
CREATE TABLE `tb_obras` (
`Id_obras` smallint(5) unsigned NOT NULL auto_increment,
`TitObra` varchar(150) NOT NULL,
`CategoriaObra` varchar(150) NOT NULL,
`ObraTexto` text NOT NULL,
`ID_autor` smallint(5) unsigned NOT NULL,
`ObraVisualizada` smallint(5) unsigned NOT NULL,
`ObraAtiva` enum('yes','no') NOT NULL default 'yes',
`ObraNivel` varchar(50) NOT NULL,
`ObraData` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`Id_obras`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Tabela de cadastro de obras' AUTO_INCREMENT=3 ;
index.php (apenas para acessar a página restrita
<!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">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>World Authors - o caminho mais facil e rápido entre você e editoras</title>
<link href="css/estilo.css" rel="stylesheet" type="text/css" />
<style type="text/css">.style1 { color: #FFFFFF;
font-weight: bold;
}</style>
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0" background="img/bg_topo2.jpg">
<tr>
<td width="22%" align="left" valign="top"><img src="img/logo2.png" width="270" height="247" border="0" usemap="#Map" /></td>
<td width="78%" colspan="2" align="left" valign="top">
<table width="100%" height="188" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="45" align="right" valign="middle"><span class="style1">Home | Quem Somos | Perguntas Frequentes | Testemunhos </span></td>
</tr>
<tr>
<td height="112" align="left" valign="top"><br><img src="img/pub.jpg" width="20" height="112" align="left"/>
<?php
$width="483";
$height="112";
$pasta = "publicidade/";
$banners = glob($pasta."*.*");
$erro = 1;$erro = 0;
$randomico = count($banners);
$rnd = rand(0,$randomico -1);
$banner=$banners[$rnd];
if(eregi("(.swf)$", $banner)){
echo "<OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"[http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"](http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0%5C) WIDTH=\"$width\" HEIGHT=\"$height\" id=\"banner\" ALIGN=\"\">";
echo "<param name=\"movie\" value=\"$banner\"><param name=\"wmode\" value=\"transparent\"> ";
echo "<param name=\"quality\" value=\"high\"><embed src=\"$banner\" quality=\"high\" wmode=\"transparent\" pluginspage=\"[http://www.macromedia.com/go/getflashplayer\"](http://www.macromedia.com/go/getflashplayer%5C) type=\"application/x-shockwave-flash\" width=\"$width\" height=\"$height\">";
echo "</embed></object>";
}else{
if(eregi("(.jpg)$|(.gif)$|(.png)$", $banner)){
echo "<img src=\"$banner\" width=\"$width\" height=\"$height\" />";
}else{
$erro = 1;
}
}
}
?><br />
<?php include"abas.php";?></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#ECE9D8"><a href="#">Lista de Autores</a> | <a href="#">Lista de Obras</a> | <a href="#">Lista de Editoras </a>| <a href="?pagina=cadastro_autor">Cadastro de Autor</a> | <a href="#">Cadastro de Editoras </a></td>
</tr>
</table>
<p>
<?php include"pagina.php";?>
</p>
<map name="Map" id="Map">
<area shape="rect" coords="4,5,52,30" href="index.php" />
</map></body>
</html>
pagina_principal.php (página restrita)
<?php
session_start();
if(!isset($_SESSION['login_session']) AND !isset($_SESSION['senha_session'])){
header("Location:index.php");
exit;
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">](http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd)
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Sistema Restrito -- World Authors - O caminho mais rápido entre autor e editoras</title>
<style type="text/css">
<!--
.style1 {
color: #FFFFFF;
font-weight: bold;
}
-->
</style>
<link href="css/estilo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
include"config.php";
$login = $_SESSION['login_session'];
$senha = $_SESSION['senha_session'];
$sql=mysql_query("SELECT * FROM tb_autor where Login_autor='$login' AND Senha_autor='$senha'");
while($linha = mysql_fetch_array($sql)){
$nome = $linha['Nome_autor'];
$foto = $linha['Foto_autor'];
$user = $linha['ID_autor'];
};
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="22%" align="left" valign="top" background="img/bg_topo2.jpg"><img src="img/logo2.png" /></td>
<td width="78%" align="left" valign="top" background="img/bg_topo2.jpg"><table width="100%" height="247" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="40" align="right" valign="middle"><span class="style1">Home | Quem Somos | Perguntas Frequentes | Testemunhos | <a href="sair.php"><img src="img/sair.png" border="0" align="absmiddle"/></a> </span></td>
</tr>
<tr>
<td height="129" valign="top"><br><img src="autores/<? echo $foto ?>" style="border: solid #99CC00 2px" align="left"/><br/>
<fieldset>
<legend><img src="img/livro.png" align="left"/> <b>Dados do(a) Autor(a)</b></legend>
Bem-vindo ao sistema sr(a): <b><? echo $nome ?></b><br/>
Código de Identificação: <? echo $user ?>
</fieldset></td>
</tr>
<tr>
<td align="right" valign="bottom"> </td>
</tr>
</table></td>
</tr>
</table><br />
</body>
</html>
logar.php
<?php
session_start();
?>
<!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">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
include "config.php";
$login = $_POST['login'];
$senha = $_POST['senha'];
$sql=mysql_query("SELECT * FROM tb_autor where Login_autor='$login' AND Senha_autor='$senha'");
if(mysql_num_rows($sql) == 1){
$_SESSION['login_session'] = $login;
$_SESSION['senha_session'] = $senha;
include "pagina_principal.php";
}else{
unset($_SESSION['login_session']);
unset($_SESSION['senha_session']);
include"index.php";
}
?>
</body>
</html>
mostra_obras.php (essa é a responsável por mostrar os dados do banco de dados)
O que eu quero é que ela mostre apenas os dados do usuário logado
<?php
session_start();
if(!isset($_SESSION['login_session']) AND !isset($_SESSION['senha_session'])){
header("Location:index.php");
exit;
}
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10%" bgcolor="#ECE9D8">Código do Autor</td>
<td width="60%" bgcolor="#ECE9D8">Título da Obra</td>
<td width="10%" bgcolor="#ECE9D8">Visualizar</td>
<td width="10%" bgcolor="#ECE9D8">Editar</td>
<td width="10%" bgcolor="#ECE9D8">Excluir</td>
</tr>
<?
include"config.php";
$user = $_SESSION['user_session'];
$mostrar_dados = mysql_query("SELECT * FROM tb_obras ORDER BY TitObra ASC ",$db);
while($linha = mysql_fetch_array($mostrar_dados)){
$usuario = $linha['ID_autor'];
?>
<tr>
<td><?=$linha['ID_autor']?></td>
<td><?=$linha['TitObra']?></td>
<td> </td>
<td> </td>
</tr>
<? } ?>
Um amigo acima me ajudou bastante, mas não conseguir continuar a lógica dele
Você tem que mostrar os dados apenas do usuário que está acessando, filtrando por meio do ID dele.
Por exemplo
SELECT campos FROM tabela WHERE id = id_do_usuario_logado;
No UPDATE é a mesma coisa:
UPDATE tabela SET campo1 = 'valor', campo2 = 'valoe2' WHERE id = id_do_usuario_logado;>
if(!isset($_SESSION['login_session']) AND !isset($_SESSION['senha_session'])){
header("Location:index.php");
exit;
}
Aí seria melhor um OR. Assim, o usuário é bloqueado se possuir apenas um dos dados.
Na sessão, mantenha o ID do usuário logado.
Depois, na página de alteração de dados, selecione apenas os dados referentes ao usuário com aquele id.
Veja este tópico:
http://forum.imasters.com.br/index.php?/topic/192408-sistema-de-cadastro-em-phpmysql/
É o básico do que você precisa ssaber sobre manipulação de bancos de dados. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif