Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Blod

true e false PHP

Recommended Posts

Eae galera, estou com uma dúvida muito besta mais que esqueci e nao estou encontrando no google. Seguinte, eu tenho a função:

 

function teste($i){
 if($i == $i){return true;}else{return false;}
}

 

Ai a minha dúvida mto idiota é, esse true retorna a palavra "true" ou "1" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque assim eu não estou entendendo o porque não está dando certo aki:

 

<?php 
/* ---- Classe Login ---- */
class login extends action{
function verificaDados($email, $senha){
	$senha = $senha;
	$sql = "SELECT * FROM ma_usuario WHERE usr_email = '$email' AND usr_senha = '$senha' LIMIT 1";
	$quer = self::cons($sql);
	$assoc = $quer->fetch(PDO::FETCH_ASSOC);
	$count = $quer->rowCount();
	if($count >= "1"){return true;}else{return false;}
}
function cookieCria($email, $senha){
	$verifica = self::verificaDados($email, $senha);
	if($verifica == 1){
	setcookie("email", $email, time()+172800, "/rede", "www.habbobos.com.br");
	setcookie("senha", $senha, time()+172800, "/rede", "www.habbobos.com.br");	
	}		
}
function cookieExclui(){
setcookie("email");
setcookie("senha");	
}
function logarUsuario($email, $senha, $salva){
	$verifica = self::verificaDados($email, $senha);
	if($verifica == 1){
			$_SESSION[usr_id] = NULL;
			$_SESSION[usr_email] = NULL;
			$email = $_SESSION[usr_email];
			$sql = "SELECT * FROM ma_usuario WHERE usr_email = '$email' AND usr_senha = '$senha' LIMIT 1";
			$slec = self::cons($sql);
			$res = $slec->fetch(PDO::FETCH_ASSOC);
			$res[usr_id] = $_SESSION[usr_id];
			if($salva == 1){
			$cria = self::cookieCria($email, $senha);	
			}

			return true;		

		}else{ 

		return false;

		}
}
function logout(){
$destroycookie = self::cookieExclui();
$_SESSION[usr_id] = NULL;
$_SESSION[usr_email] = NULL;
}
}
?>
<?php 
$log = new login();
$lolin = $log->logarUsuario("blodl@hotmail.com", "senha", true);
echo $_COOKIE[email];
echo $_COOKIE[senha];
echo $_SESSION[usr_id];
echo $_SESSION[usr_email];


?>

 

Ele não me mostra nada na tela, poderiam me ajudar a encontrar o erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

funciona como numeros binarios

 

 

true = 1 = inteiro

false = 0 = vazio

 

a variavel $senha deve ficar antes do function e você esqueceu de inserir a variavel $email

 

outra coisa você setou a variavel $senha

$senha = $senha;

 

isso é impossivel, se você estiver usando um formulario será

 

 $senha = $_POST['senha']; //a senha que esta em ['senha'] d eve ser o nome que esta la no input do fomulario, se la estiver no name do input estiver "loca" você deve inserir loca ali tambem

 

e com a variavel email a mesma coisa

 

 $email = $_POST['email'];

 

 

@edit

 

outra coisa sempre antes de usar session você deve iniciar as sessions com o comando

session_start();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá gustavo, essa é só uma parte do código o

session_start();

está no topo e sua resposta não me ajudou muito pois você colocou algo que nao tem nada a ver com a minha dúvida, com todo o respeito.

 

A dúvida é, ele não está fazendo o login e não consigo encontrar o porque

Compartilhar este post


Link para o post
Compartilhar em outros sites

function verificaDados($email, $senha){
	$senha = $senha;
	$sql = "SELECT * FROM ma_usuario WHERE usr_email = '$email' AND usr_senha = '$senha' LIMIT 1";
	$quer = self::cons($sql);
	$assoc = $quer->fetch(PDO::FETCH_ASSOC);
	$count = $quer->rowCount();
	if($count >= "1"){return true;}else{return false;}
}

Você tem erros 'estúpidos' de programação aí, você já recebe $senha como parâmetro, pra que criar uma variável pra isso ?

Eu te falei em outro tópico que é melhor usar $this do que self::, não faça porque é bonito.

 

function cookieCria($email, $senha){
	$verifica = self::verificaDados($email, $senha);
	if($verifica == 1){
	setcookie("email", $email, time()+172800, "/rede", "www.habbobos.com.br");
	setcookie("senha", $senha, time()+172800, "/rede", "www.habbobos.com.br");	
	}		
}

Não é necessário esse '== 1', se você retorna true | false, o if vai verificar isso, se for true, entra no bloco de código, se for false, entra no bloco de código do else ..

 

function cookieExclui(){
setcookie("email");
setcookie("senha");	
}

Essa função não vai excluir os cookies, totalmente desnecessária o uso dela alí

 

$log = new login();
$lolin = $log->logarUsuario("blodl@hotmail.com", "senha", true);
echo $_COOKIE[email];
echo $_COOKIE[senha];
echo $_SESSION[usr_id];
echo $_SESSION[usr_email];

 

Seu problema está aí, pra ser mais específico aqui:

$log = new login();
$lolin = $log->logarUsuario("blodl@hotmail.com", "senha", true);

 

Não vê a diferença ?

 

 

echo $_COOKIE[email];
echo $_COOKIE[senha];
echo $_SESSION[usr_id];
echo $_SESSION[usr_email];

 

Está errado isso, você não está procurando por constantes no índice do array $_COOKIE, $_SESSION, ou está ?

Falando o que eu acho sobre o seu código, um lixo cara, você não sabe nem programação básica, e quer aprender OO.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Está errado isso, você não está procurando por constantes no índice do array $_COOKIE, $_SESSION, ou está ?

Falando o que eu acho sobre o seu código, um lixo cara, você não sabe nem programação básica, e quer aprender OO.

Olha, desculpe mais sou apenas uma pessoa curiosa tentando fazer alguma coisa, eu não sou profissional e estou fazendo para entender melhor o funcionamento, mas oque eu quero na parte final com $_COOKIE[usr_email] é testar se ele foi criado, diante da sua opinião sobre meu código eu a dispenso pois não pedi a opinião se o código é bom ou não. Com todo respeito. Não sei ainda como deixar meu código bom.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, não quis ofender nem nada, foi apenas um 'presta atenção' de forma agressiva, rs .. Entretanto, eu acho que você deveria estudar mais sobre os conceitos de OO, entre outras coisas. Enfim, conseguiu resolver o problema ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Falando o que eu acho sobre o seu código, um lixo cara, você não sabe nem programação básica, e quer aprender OO.

 

Muita calma nessa hora :mellow:

 

@Blod

 

Se você quer apender OOP, primeiramente domine o básico e vá progredindo aos poucos.

 

Procure alguns livros sobre PHP que possam te dar uma base sólida para entrar no "mundo OOP".

 

Aqui vai alguns livros que possam te ajudar.

 

Programando com Orientação a Objetos

Programação PHP

 

Se tiver dúvidas, não deixe de perguntar. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra dica também o João Batista Neto está fornecendo cursos no iMasters Pro, se você se interessar, o assunto é MVC, mas .. envolve OO.

 

:seta: http://pro.imasters.com.br/online/cursos/mvc-em-php-na-pratica-construindo-um-sistema-de-pedidos

:seta: http://pro.imasters.com.br/online/cursos/php-orientado-objetos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou interessado em comprar nada do iMasters, esse professor deve ser bem "educado" como você.

Olha, não quis ofender nem nada, foi apenas um 'presta atenção' de forma agressiva, rs .. Entretanto, eu acho que você deveria estudar mais sobre os conceitos de OO, entre outras coisas. Enfim, conseguiu resolver o problema ?

 

Bom acho que isso não foi somente um 'presta atenção' e sim você quis me humilhar aqui, oque acho desnecessário. E no final do tópico que postou você alterou oque disse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom acho que isso não foi somente um 'presta atenção' e sim você quis me humilhar aqui, oque acho desnecessário. E no final do tópico que postou você alterou oque disse.

Se você achou isso, peço desculpas, mas não foi minha intenção, Sim fiz uma alteração, removendo palavras ofensivas ao seu respeito.

 

Não consegui, vou refazer tudo para corrigir

Quem dera que todos tivessem esta atitude nesses momentos, você está tomando a melhor atitude para essa situação, refazer o código !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode me dar um exemplo de sistema de login com OO seguro no qual posso me basear pra entender melhor, afinal não faço isso por profissão, somente por hobie.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não testei, mas a idéia é por aí.

<?php
      ob_start();
      session_start();

      class Login{
             /**
              * Armazena um Objeto que permite a execução de querys no banco
              * @var PDO Object $db
              */
             private $db;
             /**
              * Armazena as informações do usuário
              * @var Array $userData
              */
             private $userData;
             /**
              * Cria uma autenticação de usuário, verificando se existe 
              * algum usuário referênte ao email e senha passados por parâmetro
              * @param  String $Mail
              * @param  Mixed $Password
              * @return Integer
              */
             public function createAuthentication( $Mail , $Password ) { 
                    $query = $this->db->prepare( 'SELECT * FROM `ma_usuario` WHERE `usr_email` = :email AND `usr_senha` = :senha' );
                    $query->bindParam( ':email' , $Mail , PDO::PARAM_STR );
                    $query->bindParam( ':senha' , $Password , PDO::PARAM_STR );
                    $query->execute();
                    if( $query->rowCount() )  
                           $this->userData = $query->fetch( PDO::FETCH_ASSOC );
                    return $query->rowCount();
             }
             /**
              * Seta o objeto que permite a execução de querys no banco de dados
              * @param PDO $PDO 
              */
             public function setDataSource( PDO $PDO ){
                    $this->db = $PDO;
             }
             /**
              * Recupera o email do usuário
              * @return String
              */
             public function getMail(){
                    return $this->userData[ 'usr_email' ];
             }
             /**
              * Recupera o password do usuário
              * @return Mixed
              */
             public function getPassword(){
                    return $this->userData[ 'usr_senha' ];
             }
             /**
              * Recupera o ID do usuário
              * @return Integer
              */
             public function getUserID(){
                    return ( integer )$this->userData[ 'usr_id' ];
             }
      }
      $Login = new Login();
      $Login->setDataSource( new PDO( 'mysql:host=127.0.0.1;dbname=..' , 'usuario' , 'senha' ) );
      if( $Login->createAuthentication( 'andreykvital@gmail.com' , '?' ) ){
             $_SESSION[ 'email' ] = $Login->getMail();
             $_SESSION[ 'senha' ] = $Login->getPassword();
             $_SESSION[ 'uid' ] = $Login->getUserID();
      }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom não entendi nada doque você fez nessas funções mais vou tentar entender. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Falando o que eu acho sobre o seu código, um lixo cara, você não sabe nem programação básica, e quer aprender OO.

 

Acompanho o fórum a pouco mais de 03 anos nunca vi o tamanho desrespeito a um membro, tenho pouca experiência com php, mas posso lhe garantir que se deve tratar outro ser humano da mesma forma como gostaria de ser tratado.

 

Se trabalhe-se em umas de minhas empresas te daria somente um único aviso pessoalmente, se fizer isso novamente a um dos meus funcionários taria no olho da rua!

 

E isso não se trata de certo ou errado, você não é obrigado a responder desta forma por saber + ou - sobre a questão!

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

WDuarte, pois é cara, vacilei mesmo, pedi desculpas, até enviei uma MP ao Blod justificando e pedindo desculpas novamente sobre a resposta ofensiva postada, queria falar o que eu achava sobre o código, mas não daquela forma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.