CMPT
04-02-2008, 15:23
oi ppl!!!
Estou a desenvolver um website em php para um cliente meu, e no meio de uma validação de inicio de sessão, deparo-me com uma situação caricata, a necessidade de usar um BREAK num IF para que a coisa funcione como eu quero.
Fui a php.net pesquisar sobre BREAK e o que la apareceu: break cancela a execução do comando for, foreach, while, do-while ou switch atual.".
Por exemplo:
/////////supomos que o formulario foi iniciado $userlogin////////
///////// a variavel $username está vazia ////////////////
if(isset($userlogin))
{
if(empty($username))
{
header("Location: falhalogin.php?razao=vazio");
}
//////////query a base de dados MySQL//////////
////////// resultado da query ////////////
if($resultusername != 1)
{
header("Location: falhalogin.php?razao=utilizador_nao_existe");
}
}
O resultado disto será um redireccionamento para falhalogin.php?razao=utilizador_nao_existe!!
Não esta incorrecto, mas se a variavel $username esta vazia, era suposto redireccionar para falhalogin.php?razao=vazio na primeira condição "EMPTY"?
Mas caso um BREAK seja utilizado na primeira condição "EMPTY":
/////////supomos que o formulario foi iniciado $userlogin////////
///////// a variavel $username está vazia ////////////////
if(isset($userlogin))
{
if(empty($username))
{
header("Location: falhalogin.php?razao=vazio");
break;
}
//////////query a base de dados MySQL//////////
////////// resultado da query ////////////
if($resultusername != 1)
{
header("Location: falhalogin.php?razao=utilizador_nao_existe");
}
}
Já funciona correctamente... a variavel $username está vazia, e quando isso se verifica com a função EMPTY redirecciona correctamente para falhalogin.php?razao=vazio.
Gostaria que comentassem sobre este assunto, e se a estrutura que uso nesse exemplo está incorrecta o não é segura, que me digam uma solução mais viável.
ABRAÇO!!!;)
Estou a desenvolver um website em php para um cliente meu, e no meio de uma validação de inicio de sessão, deparo-me com uma situação caricata, a necessidade de usar um BREAK num IF para que a coisa funcione como eu quero.
Fui a php.net pesquisar sobre BREAK e o que la apareceu: break cancela a execução do comando for, foreach, while, do-while ou switch atual.".
Por exemplo:
/////////supomos que o formulario foi iniciado $userlogin////////
///////// a variavel $username está vazia ////////////////
if(isset($userlogin))
{
if(empty($username))
{
header("Location: falhalogin.php?razao=vazio");
}
//////////query a base de dados MySQL//////////
////////// resultado da query ////////////
if($resultusername != 1)
{
header("Location: falhalogin.php?razao=utilizador_nao_existe");
}
}
O resultado disto será um redireccionamento para falhalogin.php?razao=utilizador_nao_existe!!
Não esta incorrecto, mas se a variavel $username esta vazia, era suposto redireccionar para falhalogin.php?razao=vazio na primeira condição "EMPTY"?
Mas caso um BREAK seja utilizado na primeira condição "EMPTY":
/////////supomos que o formulario foi iniciado $userlogin////////
///////// a variavel $username está vazia ////////////////
if(isset($userlogin))
{
if(empty($username))
{
header("Location: falhalogin.php?razao=vazio");
break;
}
//////////query a base de dados MySQL//////////
////////// resultado da query ////////////
if($resultusername != 1)
{
header("Location: falhalogin.php?razao=utilizador_nao_existe");
}
}
Já funciona correctamente... a variavel $username está vazia, e quando isso se verifica com a função EMPTY redirecciona correctamente para falhalogin.php?razao=vazio.
Gostaria que comentassem sobre este assunto, e se a estrutura que uso nesse exemplo está incorrecta o não é segura, que me digam uma solução mais viável.
ABRAÇO!!!;)