Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Então. Significa que a $ID não existe, por isto que dá problema. Veja em que ponto do teu código você tem o valor do id do usuário logado. Esta é a variável que tem que colocar ali. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 Olha fiz o seguinte adicionei a linha abaixo, no local que faz as consultas do banco "dados_usuarios" $ID = $linha["ID"]; e fiz a seguinte consulta como você mesmo me ensinou $sql = "SELECT * FROM empresa WHERE quemCadastrou='$ID' ORDER BY id DESC"; echo '<br/>A segunda consulta é '.$sql; e apareceu a seguinte mensagem A segunda consulta é SELECT * FROM empresa WHERE quemCadastrou='5' ORDER BY id DESC veja o códigos na página inteira <?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"]; $ID = $linha["ID"]; ?> <!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"; echo '<br/>A segunda consulta é '.$sql; $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 } ?> tem mais alguma coisa que eu possa fazer para que funcione? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Mas não funcionou??? Agora está tudo certo. Faça o seguinte. Veja se na hora de inserir ele colocou o campo quemCadastrou com o valor de 5 mesmo... Porque agora a consulta está perfeita. A lógica também está correta. A única coisa que eu consigo pensar é que não inseriu o id correto na empresa. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 está sim inserindo corretamente "eu axo" <?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','$ID')"; mysql_query($query) or die (mysql_error()); mysql_close();//fecha conexão ?> <?php echo "AQUI MOSTRA OS DADOS DA EMPRESA";?> e o ID está correto sim conforme a tabela 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 ; Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Veja... $id = $_POST['id']; E $estado','$cep','$ID')" Como o PHP é case-sensitive, $ID é diferente de $Id, que é diferente de $id. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 9, 2009 sim mais este $id = $_POST['id']; vai ser o id da empresa para quando o usuario cadastrar a empresa pode vizualizar os dados dela. tipo = ver_dados_empresa.php?id=AQUI FICARÁ O ID DA EMPRESA. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 9, 2009 Vamos lá... Sobre o erro no insert... Adicione o código para exibir os erros nesta página. Vai dizer que a $ID não está definida. Como eu te falei, tem que ver de onde está vindo a $ID. tipo = ver_dados_empresa.php?id=AQUI FICARÁ O ID DA EMPRESA. Para pegar este valor, você usa $_GET['id'] e não $_POST['id']. http://br.php.net/manual/en/reserved.variables.post.php http://br.php.net/manual/en/reserved.variables.get.php Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
mexicanox 7 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. foi eu rsrsrs mal ai cara é que quando eu falei pra voce fazer isso eu nao percebi que o login ficava guradado na variavel "$Login" eu entendi que ele ficava no "$login_usuario" o que ia acontecer aqui é o mesmo esquema que voce fez agora so que em vez do id ia usar o n login do usuario flws Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 10, 2009 então coloquei o codigo de erro lá. <?php ini_set('display_errors', 1); error_reporting(E_ALL); ?> <?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','$ID')"; mysql_query($query) or die (mysql_error()); mysql_close();//fecha conexão ?> <?php echo "AQUI MOSTRA OS DADOS DA EMPRESA CADASTRADA"; ?> Ai deu as seguintes mensagens Notice: Undefined index: id in E:\domains\sincopa.org.br\wwwroot\usuarios\enviar_empresa.php on line 9 Notice: Undefined variable: ID in E:\domains\sincopa.org.br\wwwroot\usuarios\enviar_empresa.php on line 19 como faço pra consertar isso, o "id" é o da empresa, e o "ID" é do usuario. Compartilhar este post Link para o post Compartilhar em outros sites
mexicanox 7 Denunciar post Postado Outubro 10, 2009 Pelo que eu me lembro voce ta passando o id mais ou menos assim ne link?empresa=id_da_empresa na hora de pegar os dados voce ta usando post $id = $_POST['id'] o certo é usar o get $id = $_GET['id'] outra coisa, o id aqui esta em maiusculo $query = "INSERT INTO empresa (nomedaempresa, cnpj, endereco, numero, bairro, cidade, estado, cep, quemCadastrou) VALUES ('$nomedaempresa','$cnpj','$endereco','$numero','$bairro','$cidade','$estado','$cep','$ID')"; e aqui esta em minusculo, lembrando o que o amigo falou um pouco acima o PHP diferencia maiuscula de minuscula($id é diferente de $ID) outra coisa voce deve usar o GET se voce quiser pegar o id pela URL $id = $_POST['id']; flws Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 O que foi colocado acima já foi falado anteriormente. Preste atenção nas sugestões dadas. Eu perguntei várias vezes de onde vem a $ID, e até agora você não respondeu. Para verificar que dados estão vindo, faça o seguinte. Coloque este código no início. <?php ini_set('display_errors', 1); error_reporting(E_ALL); echo '<pre>Os dados do POST são <br/>'; print_r($_POST); echo '<br/>Os dados do GET são <br/>'; print_r($_GET); echo '<br/>Os dados do SESSION são <br/>'; print_r($_SESSION); ?> Vai imprimir todos os valores de POST, GET e SESSION. O id da empresa tem que vir de algum deles. Veja de onde ele vem e corrija o código. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 11, 2009 então apareceu esse erro, eu utilizei nomes ficticios como "aaaaaa" Os dados do POST são Array ( [nomedaempresa] => Sindicato [cnpj] => aaa [endereco] => aaaa [numero] => aaa [bairro] => aaa [cidade] => aaa [estado] => AC [cep] => aaaaa [submit] => Cadastrar ) Os dados do GET são Array ( ) Os dados do SESSION são Notice: Undefined variable: _SESSION in E:\domains\sincopa.org.br\wwwroot\usuarios\enviar_empresa.php on line 9 Notice: Undefined index: id in E:\domains\sincopa.org.br\wwwroot\usuarios\enviar_empresa.php on line 15 Notice: Undefined variable: ID in E:\domains\sincopa.org.br\wwwroot\usuarios\enviar_empresa.php on line 25 e olha eu ja troquei o POST por GET, mais não tava exibindo os dados da empresa depois que o usuario cadastra.. eu faço tipo assim <?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','$ID')"; mysql_query($query) or die (mysql_error()); mysql_close();//fecha conexão ?> <?php echo "Nome da Empresa: $empresa<br>Endereço: $endereco"; ?> sim e você quer saber de onde vem o ID?, então "id" é da empresa, e o que "ID" é para pegar o id do usuário.. creio que seja isso que você queira saber, ja to desesperado aki. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 Você não está passando o id da empresa para esta página. Como está sendo montando o formulário que envia os dados para esta página? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 11, 2009 <form method=POST action="enviar_empresa.php"><table width="100%" border="0" cellspacing="1" cellpadding="2"> <tr> <td width="24%" class="texto01"><strong>Nome da Empresa:</strong></td> <td width="76%"><input name=nomedaempresa type=text id="nomedaempresa" size=30> <strong> <span class="texto01">CNPJ: <strong> <input name=cnpj type=text id="cnpj" size=16 > </strong></span></strong></td> </tr> <tr> <td class="texto01"><strong>Endereço:</strong></td> <td><input name=endereco type=text id="endereco" size=40> <span class="texto01"><strong>Nº: <input name=numero type=text id="numero" size=8 > </strong></span></td> </tr> <tr> <td class="texto01"><strong>Bairro:</strong></td> <td><input name=bairro type=text id="bairro" size=15> <strong><span class="texto01">Cidade: <strong> <input name=cidade type=text id="cidade" size=17 > UF: <span class="texto01"> <select name="estado" class="textobox" id="estado"> <option value="">UF</option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AM">AM</option> <option value="AP">AP</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MG">MG</option> <option value="MS">MS</option> <option value="MT">MT</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="PR">PR</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="RS">RS</option> <option value="SC">SC</option> <option value="SE">SE</option> <option value="SP">SP</option> <option value="TO">TO</option> </select> </span></strong></span></strong></td> </tr> <tr> <td class="texto01"><strong>CEP:</strong></td> <td><strong><span class="texto01"><strong> <input name=cep type=text id="cep" size=15 > </strong></span></strong><span class="texto01"><a href="http://www.correios.com.br/servicos/cep/cep_loc_log.cfm" target="_blank"><font color="#006699">Consultar CEP nos Correios.</font></a></span></td> </tr> <tr> <td> </td> <td><input name="submit" type=submit value="Cadastrar"></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td class="texto01"><a href="entrar.php"><font color="#006699">Voltar</font></a></td> </tr> </table> </form> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 Tem coisa errada na lógica.. $id = $_POST['id']; Esta linha... como você vai ter o id da empresa se ela não foi cadastrada ainda? Então esta linha não precisa. $ID Esta variável tem o id de quem está cadastrando a empresa, correto? Como você sabe quem é esta pessoa? Tem que fazer o login para cadastrar? Poste a parte em que você testa se o login e a senha estão corretos. Além disto, poste aqui a parte em que você testa se o cara está logado. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 11, 2009 sim, a pessoa só pode cadastrar a empresa se estiver cadastrado.. logar.php <?php // inclui o arquiv o de configuração do sistema include "config_sistema.php"; // revebe dados do formulario $login = htmlspecialchars($_POST['login']); $senha = $_POST['senha']; // verifica se o usuario existe $consulta = mysql_query("select * from dados_usuarios where Login='$login'"); $campos = mysql_num_rows($consulta); if($campos != 0) { // se o usuario existi verifica a senha dele if($senha != mysql_result($consulta,0,"Senha")) { echo "<font color=red><b> Senha incorreta! </font></b>"; exit; } else { // estiver tudo certo vamos ver se ele é o administrador if($login == $login_admin) { // se for o login do administrador vamos verificar a senha dele // se é igual a do administrado if($senha == $senha_admin) { // se for o administrador vomos criar a sessão session_start(); $_SESSION['login_usuario'] = $login; $_SESSION['senha_usuario'] = $senha; // redireciona o link para uma outra pagina header("Location: Admin/listar_usuarios.php"); } } else { // se o login não for do administrado vamos criar a sessão dele session_start(); $_SESSION['login_usuario'] = $login; $_SESSION['senha_usuario'] = $senha; // redireciona o link para uma outra pagina header("Location: entrar.php"); } } } else { echo "<font color=red><b> O usuario não existe! </font></b>"; exit; } ?> 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
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 Então... Muda isto. $_SESSION['login_usuario'] = $login; $_SESSION['senha_usuario'] = $senha; Adiciona o id do usuário, que você pegou na consulta. Tipo assim... $_SESSION['id_usuario'] = mysql_result($consulta,0,"id"); Onde id é o nome da coluna autoincrement da tabela usuário. Aí você troca $ID por $_SESSION['id_usuario'] e dá um include do arquivo validar_session.php no arquivo que faz o insert no banco de dados. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 11, 2009 olha como sou novato não entendi muito bem, muda em qual na pagina? na de logar?, ou na de verificar se o usuario esta logado? tbm não entendi essa parte "Aí você troca $ID por $_SESSION['id_usuario']" então ficaria assim? $_SESSION['id_usuario'] = mysql_result($consulta,0,"id"); $_SESSION['senha_usuario'] = $senha; Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 Olha, pra facilitar (porque teria muita coisa pra arrumar) e fazer funcionar, você troca isto. $_SESSION['login_usuario'] = $login; $_SESSION['senha_usuario'] = $senha; Por isto $_SESSION['login_usuario'] = $login; $_SESSION['senha_usuario'] = $senha; $_SESSION['id_usuario'] = mysql_result($consulta,0,"id"); Em todas as partes do código da página de logar. Só atente-se ao nome do campo... mysql_result($consulta,0,"id"); Aqui eu DEDUZI que o nome do campo é id. Se for outro nome, modifique ali. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
ralfinho 0 Denunciar post Postado Outubro 11, 2009 O id no codigo abaixo tá em minusculo, eu tenho que deixar igual ao que está no Insert? pq o do Insert é Maisculo.. $_SESSION['id_usuario'] = mysql_result($consulta,0,"id"); Compartilhar este post Link para o post Compartilhar em outros sites