Guilherme014 Postado Fevereiro 12, 2005 Denunciar Share Postado Fevereiro 12, 2005 o unico que esta funcionando é o que esta de azul porque ? <?include "config.php";$db = mysql_connect ($host, $login_db, $senha_db); //conecta ao mysql$basedados = mysql_select_db($database);$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND senha = '$senha'", $db) or (mysql_error()); $contagem = mysql_num_rows($confirmacao);if ( $contagem == 1 ) { if ( status == 1 ) { setcookie ("login", $login); setcookie ("senha", $senha); header("Location: teste.php"); } if ( status == 2 ){ header("Location: ../cores.php }} else { header("Location: ../cha.php");}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Fevereiro 12, 2005 Denunciar Share Postado Fevereiro 12, 2005 Dê um echo na varíavel $contagem e descubra...Podia ter feito isso sem postar aqui... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 12, 2005 Autor Denunciar Share Postado Fevereiro 12, 2005 Dê um echo na varíavel $contagem e descubra...Podia ter feito isso sem postar aqui... quando digito a senha certa esta variavel e 1,acho que a pergunta e a seguinte, o status e um dado do bd, somo faço para virar um dado que o php le e faz aquele if que esta la...if ( status == 1 ) { setcookie ("login", $login); setcookie ("senha", $senha); header("Location: teste.php"); } if ( status == 2 ){ header("Location: ../cores.php }valeuguilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Fevereiro 12, 2005 Denunciar Share Postado Fevereiro 12, 2005 Pois é, cara, o que é aquele status???Uma constante? Uma variável que você esqueceu o $?Não entendi aquela parte do seu código... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hlegius Postado Fevereiro 12, 2005 Denunciar Share Postado Fevereiro 12, 2005 Cara essa parte do seu script poderia ficar assimif ( $contagem == 1 ) { setcookie ("login", $login); setcookie ("senha", $senha); header("Location: teste.php"); }else{ header("Location: ../cha.php");}Agora é como o Error disse o que é esse status ?até... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 13, 2005 Autor Denunciar Share Postado Fevereiro 13, 2005 (editado) Cara essa parte do seu script poderia ficar assimif ( $contagem == 1 ) { setcookie ("login", $login); setcookie ("senha", $senha); header("Location: teste.php"); }else{ header("Location: ../cha.php");}Agora é como o Error disse o que é esse status ?até... status é um componente de uma tabela chamada usuarios, ela quer dizer o seguinte, quando o usuario é tipo supervisor ele tem gravado status=2, isto é, ele poderá fazer tudo no programa, se o usuario for 1, ele tipo não terá acessos a determinadas coisasagora como pegar este status do banco de dados e colocar ele numa variavel eu não sei.....entenderameu mudei e coloquei assim$confirmacao = mysql_query("SELECT * FROM usuarios WHERE us_login = '$login' AND us_senha = '$senha'") or (mysql_error()); //verifica se o login e a senha conferem$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima$confirmacao1 = mysql_query("SELECT us_status FROM usuarios");// WHERE us_login = '$login' AND us_senha = '$senha'") or (mysql_error()); //verifica se o login e a senha conferem$contagem1 = mysql_num_rows($confirmacao1); //traz o resultado da pesquisa acimaif ( $contagem == 1 ) {//echo "$contagem 1111"; setcookie ("us_login", $login); //grava o cookie com o login setcookie ("us_senha", $senha); //grava o cookie com a senha setcookie ("us_status", $contagem1); //grava o cookie com a senha if ( $contagem1 == 1 ) {echo "$contagem1"; header("Location: botao.php"); //essa é a pagina de destino caso esteje correto } elseif ( $contagem1 == 2 ){// echo "$contagem1"; header("Location: enviar_email.php");//essa é caso esteja errado o login }} else { header("Location: ../cha.php");//essa é caso esteja errado o login}echo "$contagem1"; sempre fica nº 2, posso colocar qualquer valor la no bd.valeuguilherme Editado Fevereiro 13, 2005 por Guilherme014 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Fevereiro 13, 2005 Denunciar Share Postado Fevereiro 13, 2005 Certo.Bom, primeiro vou dizer uma coisa que eu tenho observado há tempos e não tem melhorado. Quando você for postar uma dúvida, coloque um título no tópico que tenha a ver com a sua dúvida. Tópicos com títulos como "Me ajudem","Uma pergunta", "Vejam esse código" e etc não dizem nada pra pessoa que lê. Procure colocar no título algo que a pessoa que leia já saiba mais ou menos do que se trata. Quanto ao seu script, primeiro você posta ele dizendo que não está funcionando uma parte, mas você está usando uma coisa meio "simbólica" ali no meio, cara. Como você esperava que funcionasse se você não soube como puxar o valor do status e colocou ali um "disfarce"??? Não tem como funcionar, né... Pra saber como retornar esse valor do status, dê uma lida na função mysql_fetch_array() [ http://br.php.net/function.mysql-fetch-array ]. E dê uma olhada nos exemplos de lá. Você já tem uma query ali que trás toda a informação do usuário, é só aprender a retornar ela. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 13, 2005 Autor Denunciar Share Postado Fevereiro 13, 2005 (editado) Certo.Bom, primeiro vou dizer uma coisa que eu tenho observado há tempos e não tem melhorado. Quando você for postar uma dúvida, coloque um título no tópico que tenha a ver com a sua dúvida. Tópicos com títulos como "Me ajudem","Uma pergunta", "Vejam esse código" e etc não dizem nada pra pessoa que lê. Procure colocar no título algo que a pessoa que leia já saiba mais ou menos do que se trata. Quanto ao seu script, primeiro você posta ele dizendo que não está funcionando uma parte, mas você está usando uma coisa meio "simbólica" ali no meio, cara. Como você esperava que funcionasse se você não soube como puxar o valor do status e colocou ali um "disfarce"??? Não tem como funcionar, né... Pra saber como retornar esse valor do status, dê uma lida na função mysql_fetch_array() [ http://br.php.net/function.mysql-fetch-array ]. E dê uma olhada nos exemplos de lá. Você já tem uma query ali que trás toda a informação do usuário, é só aprender a retornar ela. bem o que você falou do titulo esta correto, eu vou mudar a minha maneiraagora valeu a dica e li la e pelo que entendi eu posso usar duas coisas, é logico que não e este codigo1º - por que retorna valor numerico "é o que quero" <?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Não pude conectar: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("ID: %s Name: %s", $row[0], $row[1]); } mysql_free_result($result); ?> sobre o primeiro tentei fazer assim mas deu erro $confirmacao = mysql_query("SELECT us_login, us_senha, us_status FROM usuarios WHERE us_login = '$login' AND us_senha = '$senha'") or (mysql_error()); //verifica se o login e a senha conferem while ($row = mysql_fetch_array($contagem, MYSQL_NUM)) { //$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima if ( $row == 1 ) { //echo "$contagem 1111"; setcookie ("us_login", $login); //grava o cookie com o login setcookie ("us_senha", $senha); //grava o cookie com a senha setcookie ("us_status", $contagem1); //grava o cookie com a senha if ( status == 1 ) { echo "$contagem1"; header("Location: botao.php"); //essa é a pagina de destino caso esteje correto } elseif ( $contagem == 2 ){ // echo "$contagem1"; header("Location: enviar_email.php");//essa é caso esteja errado o login } } else { header("Location: ../cha.php");//essa é caso esteja errado o login } } e deu este erro Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\advogados\confirmar_login.php on line 8 sendo que a linha 8 é esta $confirmacao = mysql_query("SELECT * FROM usuarios WHERE us_login = '$login' AND us_senha = '$senha'") or (mysql_error()); //verifica se o login e a senha conferem 2º - por que retorna valor numerico e em string <?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Não pude conectar: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { printf ("ID: %s Name: %s", $row[0], $row["name"]); } mysql_free_result($result); ?> se eu tambem não estiver entendido nada tambem pode falarvaleuguilherme Editado Fevereiro 13, 2005 por Guilherme014 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Fevereiro 13, 2005 Autor Denunciar Share Postado Fevereiro 13, 2005 (editado) <? require("funcoes/conexao.inc.php"); //alterar de acordo com seu diretorio require("funcoes/configuracoes.php"); //alterar de acordo com seu diretorio require("funcoes/class/categorias.php"); // Inicia sessões session_start(); // Recupera o login $login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE; // Recupera a senha, a criptografando em MD5 $senha = isset($_POST["senha"]) ? md5(trim($_POST["senha"])) : FALSE; // Usuário não forneceu a senha ou o login if(!$login || !$senha) { print "<script Language=\"JavaScript\">"; print("alert('Você deve digitar sua senha e login !!!');"); print "</script>"; exit; } /** * Executa a consulta no banco de dados. * Caso o número de linhas retornadas seja 1 o login é válido, * caso 0, inválido. */ $SQL = "SELECT usuarioid, us_email, us_login, us_senha, us_status FROM usuarios WHERE us_login = '" . $login . "'"; $result_id = @mysql_query($SQL) or die("Erro no banco de dados!"); $total = @mysql_num_rows($result_id); // Caso o usuário tenha digitado um login válido o número de linhas será 1.. if($total) { // Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão $dados = @mysql_fetch_array($result_id); // Agora verifica a senha if(!strcmp($senha, $dados["us_senha"])) { // TUDO OK! Agora, passa os dados para a sessão e redireciona o usuário $_SESSION["id_usuario"] = $dados["usuarioid"]; $_SESSION["nome_usuario"] = stripslashes($dados["us_email"]); $_SESSION["permissao"] = $dados["us_status"]; if ($permissao == 1) { header("Location: paginacao.php"); exit; } else if ($permissao == 2) { header("Location: enviar_email.php"); exit; } } // Senha inválida else { print "<script Language=\"JavaScript\">"; print("alert('Sua Senha está errada !!!');"); print "</script>"; exit; } } // Login inválido else { print "<script Language=\"JavaScript\">"; print("alert('Não existe este login !!!');"); print "</script>"; exit; } ?> consegui com este codigovaleuguilherme Editado Fevereiro 14, 2005 por Guilherme014 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Fevereiro 14, 2005 Denunciar Share Postado Fevereiro 14, 2005 É o seguinte, cara, você não entendeu como os dados são retornados da Query.Quando você usa a mysql_fetch_array() [a propósito, usar ela com aquele MYSQL_NUM, que você estava usando não tem sentido, seria melhor usar a mysql_fetch_row() ao invés] você cria uma array que vai conter todos os valores daquela linha do banco de dados.Se você tem uma tabela assim:|===================================||-ID-|-USERNAME-|-PASSWORD-|-STATUS-||----|----------|----------|--------||-01-|--Joao----|--cotia---|--mod---||-02-|--Maria---|--pardal--|--user--||-03-|--Manuel--|--paca----|--user--||----|----------|----------|--------||===================================|Vamos supor que eu quero todos os usuários, não os moderadores.Então eu vou fazer uma query assim:SELECT username, password, status FROM tabela WHERE status='user'Certo, isso vai me retornar 2 linhas, 2 registros, porque temos ali 2 usuários que não são moderadores.Agora você vai pegar esses valores e mostrar na tela usando a mysql_fetch_array() da seguinte forma:while($linha = mysql_fetch_array($resultado_da_query)){Esse código vai fazer o seguinte: Enquanto houverem linhas (registros) trazidos pela query, ele vai pegar essa linha e passar os valores para uma array, a array $linha e vai executar o que estiver dentro das {}.Então, se eu quisesse exibir só o nome e o status, por exemplo, eu faria algo como:echo "Nome: " . $linha['nome] . "<br />";echo "Status: " . $linha['status'] . "<br />";Captou a idéia?Se eu tivesse na tabela um campo chamado "narf", eu o mostraria usando:echo "Campo narf: " . $linha['narf] . "<br />";Mas note que você só vai poder retornar os campos que você selecionou na sua query. Naquele exemplo de query que eu passei, por exemplo, eu não poderia mostrar a ID. Isso porque ela não foi selecionada. Se eu quisesse selecionar também a ID, a query ficaria assim:SELECT id, username, password, status FROM tabela WHERE status='user'ou simplesmenteSELECT * FROM tabela WHERE status='user'O * significa tudo, ele vai selecionar todos os campos da tabela.E aí... alguma dúvida? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guilherme014
o unico que esta funcionando é o que esta de azul porque ?
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.