1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

PHP - dúvidas na sintaxe do "isset"

Discussão em 'Web Development' iniciada por LightningXpto, 30 de Março de 2009. (Respostas: 5; Visualizações: 1549)

  1. LightningXpto

    LightningXpto Power Member

    Boa o que eu pretendo é fazer um login que contemple 3 campos: client id, login e password


    Eu dantes tinha apenas login e password e o seguinte pedaço de código funcionava bem:


    PHP:
    mysql_query 'SET NAMES utf8' );
        
    $result mysql_query("SELECT login, password FROM users WHERE login = '$username' and password = '$password'" $connection);
            if (!
    $result) {
                die(
    "mysql falhou" mysql_error());
             }
            
        
    $verif mysql_fetch_array($result); 
    if(!isset(
    $verif['login' and 'password'])   ) {
    session_destroy();
    die(
    "Dados de login incorrectos");

     }

    Mas agora que tentei adicionar mais um campo, penso que a sintaxe não está bem porque os dados que insiro na form coicide com os que estão na base de dados mysql:

    PHP:
    mysql_query 'SET NAMES utf8' );
        
    $result mysql_query("SELECT client_id, login, password FROM users WHERE client_id = '$userid' and login = '$username' and password = '$password'" $connection);
            if (!
    $result) {
                die(
    "mysql falhou" mysql_error());
             }
            
        
    $verif mysql_fetch_array($result); 
    if(!isset(
    $verif['client_id'and 'login' and 'password'])   ) {
    session_destroy();
    die(
    "Dados de login incorrectos");

     }
     
  2. LightningXpto

    LightningXpto Power Member

    Afinal o problema estava mais acima, obrigado na mesma! :)
     
  3. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Tens a certeza de que isso tá certo? Não testei, mas não me faz sentido que isso funcione :x

    Não seria supostamente algo como isto:
    PHP:
    if(isset($verif['client_id']) && isset($verif['username']) && isset($verif['password']))
    ?
     
  4. fm.

    fm. Power Member

    Realmente, há ali um erro de sintaxe, precisamente a que o Kayvlim apontou.

    Outro:
    Código:
    if(!isset($verif['login' and 'password'])
    
    Deveria ser:

    Código:
    if(!isset($verif['login']) && !isset($verif['password'])
    
     
    Última edição: 30 de Março de 2009
  5. anjo2

    anjo2 Power Member

    A sintaxe pode ser:
    PHP:
    if(!isset($verif['login'], $verif['password']))
     
  6. fm.

    fm. Power Member

    Obrigado pela dica anjo2.
    Da tua maneira o código fica mais claro e reduzido. ;)
     

Partilhar esta Página