Ir para conteúdo
Fórum Script Brasil
  • 0

Olhem Este Codigo


Guilherme014

Pergunta

o unico que esta funcionando é o que esta de azul porque ? rolleyes.gif

<?

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");

}?>

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
Dê um echo na varíavel $contagem e descubra...

Podia ter feito isso sem postar aqui... rolleyes.gif

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

}

valeu

guilherme

Link para o comentário
Compartilhar em outros sites

  • 0

Cara essa parte do seu script poderia ficar assim

if ( $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é... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Cara essa parte do seu script poderia ficar assim

if ( $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é... smile.gif

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 coisas

agora como pegar este status do banco de dados e colocar ele numa variavel eu não sei.....

entenderam

eu 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 acima

if ( $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.

valeu

guilherme

Editado por Guilherme014
Link para o comentário
Compartilhar em outros sites

  • 0

Certo.

Bom, primeiro vou dizer uma coisa que eu tenho observado há tempos e não tem melhorado. smile.gif

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. cool.gif

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"??? huh.gif

Não tem como funcionar, né... rolleyes.gif

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.

Link para o comentário
Compartilhar em outros sites

  • 0

Certo.

Bom, primeiro vou dizer uma coisa que eu tenho observado há tempos e não tem melhorado. smile.gif

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. cool.gif

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"??? huh.gif

Não tem como funcionar, né... rolleyes.gif

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 maneira

agora valeu a dica e li la e pelo que entendi eu posso usar duas coisas, é logico que não e este codigo

1º - 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 falar

valeu

guilherme

Editado por Guilherme014
Link para o comentário
Compartilhar em outros sites

  • 0

<?
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 codigo

valeu

guilherme

Editado por Guilherme014
Link para o comentário
Compartilhar em outros sites

  • 0

É 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 simplesmente

SELECT * FROM tabela WHERE status='user'

O * significa tudo, ele vai selecionar todos os campos da tabela.

E aí... alguma dúvida?

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...