ralfinho 0 Denunciar post Postado Outubro 4, 2009 Não apareceu nenhuma mensagem, ficou do mesmo jeito, e deixei do jeito que estava antes. bom será que o erro pode estar aonde envia as empresas? <?php //Renan Afonso require("../sistemas/conectdb.php"); //conecta no banco $id = $_POST['id']; $nomedaempresa = $_POST['nomedaempresa']; $cnpj = $_POST['cnpj']; $endereco = $_POST['endereco']; $numero = $_POST['numero']; $bairro = $_POST['bairro']; $cidade = $_POST['cidade']; $estado = $_POST['estado']; $cep = $_POST['cep']; $query = "INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('$nomedaempresa','$cnpj','$endereco','$numero','$bairro','$cidade','$estado','$cep','$login_usuario')"; mysql_query($query) or die (mysql_error()); mysql_close();//fecha conexão ?> <?php echo "GERA AQUI OS DADOS DA EMPRESA"; ?> AQUI ESTÁ A PÁGINA QUE MOSTRA AS EMPRESAS DO USUÁRIO <?php ini_set('display_errors', 1); error_reporting(E_ALL); ?> <?php include "validar_session.php"; include "config_sistema.php"; // faz consulta no banco $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); while($linha = mysql_fetch_array($consulta)){ $Login = $linha["Login"]; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Sindicato dos Comerciários - Painel de Usuário</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body background="imagens/fundo.png"> <table width="750" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"> <tr> <td colspan="5"><img src="imagens/topo_log.gif" width="750" height="70"></td> </tr> <tr> <td colspan="5"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="0%"> </td> <td width="26%"> </td> <td width="19%"> </td> <td width="1%"> </td> <td width="35%" class="texto01"><strong>Olá seja bem vindo(a) <? echo $Login ?></strong></td> <td width="9%" class="texto01"><strong><a href="entrar.php">Principal</a></strong></td> <td width="1%" class="texto01"> </td> <td width="5%" class="texto01"><strong> <a href="logout.php">Logout</a></strong></td> <td width="4%"> </td> </tr> </table></td> </tr> <tr> <td width="8" rowspan="4"> </td> <td width="148"><a href="http-~~-//www.sincopa.org.br" target="_blank"><img src="imagens/logo_sindicato.png" width="148" height="215" border="0"></a></td> <td width="12" rowspan="4"> </td> <td width="570" rowspan="4"><table width="500" border="0" align="center" cellpadding="2" cellspacing="1"> <tr> <td width="445" height="10" bgcolor="#0099CC"><div align="center" class="texto01"><strong>Escolha a Empresa</strong></div></td> </tr> <tr> <td><table width="100%" border="0" cellspacing="1" cellpadding="2"> <tr> <td> <? require ("../sistemas/conectdb.php"); $sql = "SELECT * FROM empresa WHERE quemCadastrou='$login_usuario' ORDER BY id"; $limite = mysql_query("$sql"); while ($sql = mysql_fetch_array ($limite) ) { $id = $sql['id']; $nomedaempresa = $sql['nomedaempresa']; ?> <span class="texto01"><?php echo $sql['nomedaempresa'] ?></span><br> <? } ?></td> </tr> <tr> <td width="76%"> </td> </tr> <tr> <td class="texto01"><a href="entrar.php"><font color="#006699">Voltar</font></a></td> </tr> </table> </td> </tr> </table></td> <td width="12" rowspan="4"> </td> </tr> <tr> <td height="5"> </td> </tr> <tr> <td><a href="http-~~-//www.cut.org.br/" target="_blank"><img src="imagens/cut.gif" width="148" height="62" border="0"></a></td> </tr> <tr> <td height="5"> </td> </tr> <tr> <td colspan="5"><img src="imagens/rodape_log.gif" width="750" height="70"></td> </tr> </table> </body> </html> <?php } ?> OS BANCOS DE DADOS DA TABELA "empresa" e a "dados_usuarios". dados_usuarios CREATE TABLE `dados_usuarios` ( `ID` int(11) NOT NULL auto_increment, `Login` varchar(50) NOT NULL, `Senha` char(15) NOT NULL, `Nome` varchar(200) NOT NULL, `Escritorio` varchar(200) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; empresa CREATE TABLE `empresa` ( `id` int(11) NOT NULL auto_increment, `nomedaempresa` text NOT NULL, `cnpj` text NOT NULL, `endereco` text NOT NULL, `numero` text NOT NULL, `bairro` text NOT NULL, `cidade` text NOT NULL, `estado` text NOT NULL, `cep` text NOT NULL, `quemCadastrou` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ; Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 4, 2009 Faça o que disse neste post. http://forum.imasters.com.br/index.php?/topic/364808-cadastro-de-empresas/page__view__findpost__p__1397873 Vai exibir 2 mensagens, além do conteúdo normal da página. Coloque estas mensagens aqui. Além disto, troque esta parte do código $query = "INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('$nomedaempresa','$cnpj','$endereco','$numero','$bairro','$cidade','$estado','$cep','$login_usuario')"; mysql_query($query) or die (mysql_error()); Por isto $query = "INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('$nomedaempresa','$cnpj','$endereco','$numero','$bairro','$cidade','$estado','$cep','$login_usuario')"; echo 'A query de inserção é esta '.$query; mysql_query($query) or die (mysql_error()); Na hora que você for inserir alguma empresa, vai aparecer uma mensagem. Copie ela e cole aqui também. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
henry franklin 0 Denunciar post Postado Outubro 4, 2009 Primeiro vamos às criticas: Creio que estejas listando as empresas pelo usuário que está logado. OK!? entao pra que um while na linha 12? $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); while($linha = mysql_fetch_array($consulta)){ $Login = $linha["Login"]; troque para: $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); $linha = mysql_fetch_array($consulta); $Login = $linha["Login"]; e retire o "}" do final do código. verifique se chamar este arquivo é realmente inportante, já que estás conectado ao banco de dados (se a linha 11 está certa): require ("../sistemas/conectdb.php");pode ser que ele esteja sobrescrevendo alguma coisa como por exemplo o $login_usuario. coloque um "or die (mysql_error())" depois das consultas [mysql_query("SELECT...")or die (mysql_error());] remontei aki com estas mesmas informações e funcionou. tente setar "manualmente" o $login_usuário para verificar se este não é o problema. Compartilhar este post Link para o post Compartilhar em outros sites
mexicanox 7 Denunciar post Postado Outubro 5, 2009 posta o codigo do "validar_session.php", pode ser que tenha alguma coisa la zincado o login sei la. Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 6, 2009 validar_session.php <?php @session_start(); // inclui o arquivo de configuração do sistema include "config_sistema.php"; // verifica se a variavel existir if(isset($_SESSION['login_usuario']) and isset($_SESSION['senha_usuario'])) { // se existie as sessões coloca os valores em uma varivel $login_usuario = $_SESSION['login_usuario']; $senha_usuario = $_SESSION['senha_usuario']; } else { $erro = urlencode("Você não esta logado!"); header("Location: login.php"); exit; } // verifica se as variaveis estão atribuidas if(!(empty($login_usuario) or empty($senha_usuario))) { // se estiverem atribuidos vamos ver se exist o login $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); if(mysql_num_rows($consulta) == 1) { // se o usuario exostir vamos verificar a senha if($senha_usuario != mysql_result($consulta,0,"Senha")) { // se a senha está correta vamos apagar a // sessão que existia mas erra a errada unset($_SESSION['login_usuario']); unset($_SESSION['senha_usuario']); $erro = urlencode("Você não esta logado!"); header("Location: login.php"); exit; } } else { unset($_SESSION['login_usuario']); unset($_SESSION['senha_usuario']); $erro = urlencode("Você não esta logado!"); header("Location: login.php"); exit; } } else { // caso as sessões estarem vaizias $erro = urlencode("Você não esta logado!"); header("Location: login.php"); exit; } mysql_close($conn); ?> Compartilhar este post Link para o post Compartilhar em outros sites
mexicanox 7 Denunciar post Postado Outubro 7, 2009 De onde vem a $login_usuario? Carlos Eduardo você esta se referindo ao login desse sistema? <?php include "validar_session.php"; include "config_sistema.php"; // faz consulta no banco $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); while($linha = mysql_fetch_array($consulta)){ $Login = $linha["Login"]; ?> bom se for, eu utilizei para exibir o login do usuario na página. Seja bem vindo <? echo $Login ?>. O que voce ta fazendo é consultar o login com a variavel "$login_usuario" e quardar o valor na variavel "$Login" so que aqui no valida_session.php, a variavel "$login_usuario" ja tem o login ???? $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); if(mysql_num_rows($consulta) == 1) { // se o usuario exostir vamos verificar a senha if($senha_usuario != mysql_result($consulta,0,"Senha")) { // se a senha está correta vamos apagar a // sessão que existia mas erra a errada unset($_SESSION['login_usuario']); unset($_SESSION['senha_usuario']); $erro = urlencode("Você não esta logado!"); header("Location: login.php"); exit; } tira a parte abaixo que eu acho que vai funcionar // faz consulta no banco $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); while($linha = mysql_fetch_array($consulta)){ $Login = $linha["Login"]; ?> se nao der certo voce coloca ela no lugar de novo e troca a consulta $sql = "SELECT * FROM empresa WHERE quemCadastrou='$login_usuario' ORDER BY id DESC";Por $sql = "SELECT * FROM empresa WHERE quemCadastrou='$Login' ORDER BY id DESC"; depois da um echo no login so pra verificar se o nome esta certo mesmo flws Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 8, 2009 Já tentei e mesmo assim não está exibindo as empresas eu tirei aquela parte que você disse // faz consulta no banco $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); while($linha = mysql_fetch_array($consulta)){ $Login = $linha["Login"]; ?> mas de todo jeito eu iria precisar dela para exibir o nome do login do usuario. substituir login_usuario por Login, mais não deu certo. EU TIREI ESSA PARTE -> WHERE quemCadastrou='$Login' mais exibe todas as empresas, eu queria que so exibisse as empresas cadastradas por aquele usuario. $sql = "SELECT * FROM empresa ORDER BY id"; Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 8, 2009 http://forum.imasters.com.br/index.php?/topic/364808-cadastro-de-empresas/page__view__findpost__p__1397951 http://forum.imasters.com.br/index.php?/topic/364808-cadastro-de-empresas/page__view__findpost__p__1397951 Amigo, releia os 2 posts acima. Se você fizer as modificações que eu falei, tem que exibir 3 mensagens na tela. AS MODIFICAÇÕES SUGERIDAS NÃO VÃO RESOLVER O PROBLEMA. Com estas mensagens que tem que exibir, vou poder entender o que você está fazendo de errado e então sugerir a solução. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 Apareceu sim 2 mensagens 1ª nessa apareceu o nome de login "renan" no caso o que eu estava logado. A primeira consulta é select * from dados_usuarios where Login = 'renan' 2ª nesta tbm. A segunda consulta é SELECT * FROM empresa WHERE Login='renan' ORDER BY id DESC Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\domains\sincopa.org.br\wwwroot\usuarios\guias.php on line 58 Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 Apareceu na pagina que cadastra as empresas tbm A query de inserção é esta INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('Empresa','Cnpj dela','o endereço','numero','o bairro','a cidade','','o cep','') Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Bom. Agora vamos lá... Veja como está a inserção. A query de inserção é esta INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('Empresa','Cnpj dela','o endereço','numero','o bairro','a cidade','','o cep','') Problema_1 - faltou o estado. Não foi enviado nada mesmo no campo estado ou a variável estava vazia?Problema_2 - Este é o que está causando toda a dificuldade. Veja, o código que gera esta query é este. $query = "INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('$nomedaempresa','$cnpj','$endereco','$numero','$bairro','$cidade','$estado','$cep','$login_usuario')"; Isto significa que a $login_usuario está vazia nesta página, porque o valor dela não aparece na execução. Ou seja, na hora de inserir no banco de dados, está inserindo todas as empresas sem ninguém no campo quemCadastrou. Então, pergunto novamente. De onde vem a $login_usuario NA PÁGINA QUE FAZ A INSERÇÃO NO BANCO DE DADOS, ou seja, na página que tem o código acima? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 Alguem nesse forum que mandou eu colocar o $login_usuario, pq tipo assim eu não quero que diga quem cadastrou, e sim quando o usuario acessar a sua página exiba as suas empresas cadastradas. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Sim, mas para exibir as empresas que ele cadastrou, tem que gravar na tabela do banco de dados que é o ele que está cadastrando, para depois, na hora da consulta, poder pegar somente as que ele cadastrou. O ideal ali é colocar o id (que é o autoincrement) da tabela de usuários, do usuário que está logado. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 ENTÃO NO CASO EU TENHO SÓ QUE MODIFICAR A PÁGINA DE ENVIAR A EMPRESA? NO LUGAR DE $login_usuario eu coloco "ID" assim $query = "INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('$nomedaempresa','$cnpj','$endereco','$numero','$bairro','$cidade','$estado','$cep','$ID')"; mysql_query($query) or die (mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Isto está correto, mas além disto tem uma outra pequena mudança. Na $ID você tem o id de quem está logado, correto? Só que daí, na hora das consultas, você vai ter que trocar também pela variável que contém o id do cara que está logado. Agora, as que tem lá, pegam o nome dele. Aí se estiver cadastrado o id e você tentar pegar por nome, não vai vir nada. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 então fiz o que você mandou, só que ta exibindo todas as empresas cadastradas, de todos os usuarios vê se ta certo $query = "INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('$nomedaempresa','$cnpj','$endereco','$numero','$bairro','$cidade','$estado','$cep','$ID')"; mysql_query($query) or die (mysql_error()); mysql_close();//fecha conexão <?php include "validar_session.php"; include "config_sistema.php"; // faz consulta no banco $consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'"); while($linha = mysql_fetch_array($consulta)){ $Login = $linha["Login"]; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Sindicato dos Comerciários - Painel de Usuário</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body background="imagens/fundo.png"> <table width="750" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"> <tr> <td colspan="5"><img src="imagens/topo_log.gif" width="750" height="70"></td> </tr> <tr> <td colspan="5"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="0%"> </td> <td width="26%"> </td> <td width="19%"> </td> <td width="1%"> </td> <td width="35%" class="texto01"><strong>Olá seja bem vindo(a) <? echo $Login ?></strong></td> <td width="9%" class="texto01"><strong><a href="entrar.php">Principal</a></strong></td> <td width="1%" class="texto01"> </td> <td width="5%" class="texto01"><strong> <a href="logout.php">Logout</a></strong></td> <td width="4%"> </td> </tr> </table></td> </tr> <tr> <td width="8" rowspan="4"> </td> <td width="148"><a href="http://www.sincopa.org.br" target="_blank"><img src="imagens/logo_sindicato.png" width="148" height="215" border="0"></a></td> <td width="12" rowspan="4"> </td> <td width="570" rowspan="4"><table width="500" border="0" align="center" cellpadding="2" cellspacing="1"> <tr> <td width="445" height="10" bgcolor="#0099CC"><div align="center" class="texto01"><strong>Escolha a Empresa</strong></div></td> </tr> <tr> <td><table width="100%" border="0" cellspacing="1" cellpadding="2"> <tr> <td> <? require ("../sistemas/conectdb.php"); $sql = "SELECT * FROM empresa WHERE quemCadastrou='$ID' ORDER BY id DESC"; $limite = mysql_query("$sql"); while ($sql = mysql_fetch_array ($limite) ) { $id = $sql['id']; $nomedaempresa = $sql['nomedaempresa']; ?> <span class="texto01"><?php echo $sql['nomedaempresa'] ?></span><br> <? } ?></td> </tr> <tr> <td width="76%"> </td> </tr> <tr> <td class="texto01"><a href="entrar.php"><font color="#006699">Voltar</font></a></td> </tr> </table> </td> </tr> </table></td> <td width="12" rowspan="4"> </td> </tr> <tr> <td height="5"> </td> </tr> <tr> <td><a href="http://www.cut.org.br/" target="_blank"><img src="imagens/cut.gif" width="148" height="62" border="0"></a></td> </tr> <tr> <td height="5"> </td> </tr> <tr> <td colspan="5"><img src="imagens/rodape_log.gif" width="750" height="70"></td> </tr> </table> </body> </html> <?php } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Cara, a lógica está correta. O que deve estar errado são os valores que as variáveis estão recebendo. Imprima a $ID antes de colocar nas duas querys. Veja se existe algum valor nelas e se o valor é o mesmo. Ex.: echo 'O valor da $ID antes da query de INSERT é '.$ID; $query = "INSERT INTO empresa (nomedaempresa, cnpj Faça a mesma coisa no outro momento que você utiliza a $ID. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 então eu fiz ai apareceu a seguinte mensagem. A segunda consulta é SELECT * FROM empresa WHERE Login='' ORDER BY id DESC Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\domains\sincopa.org.br\wwwroot\usuarios\guias.php on line 56 Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Veja que o local onde deveria estar a $ID está vazio, ou seja, não está passando a $ID para o código. Confira de onde vem este valor e se o nome da variável é assim mesmo. Como o PHP é case-sensitive, $ID é diferente de $Id, que é diferente de $id. Sugiro que para facilitar o debug, ative todas as mensagens de erro, colocando este código no início de todas as páginas (depois que estiver tudo rodando OK você pode tirar). <?php ini_set('display_errors', 1); error_reporting(E_ALL); ?> Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 Apareceu a seguinte mensagem depois que coloquei o código Notice: Undefined variable: ID in E:\domains\sincopa.org.br\wwwroot\usuarios\guias.php on line 56 A segunda consulta é SELECT * FROM empresa WHERE Login='' ORDER BY id DESC Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\domains\sincopa.org.br\wwwroot\usuarios\guias.php on line 59 Compartilhar este post Link para o post Compartilhar em outros sites