jsemde 0 Denunciar post Postado Junho 15, 2015 Olá galera, estou tentando mudar meu sistema de login para PDO e já alterei todo os outros menos o principal que é o protecao.php, ele vai ser inserido em todas as páginas restrita : // CODIGO ORIGINAL <?php $usuario = $_COOKIE['usuario']; $senha = $_COOKIE['senha']; if( (!empty($usuario)) AND (!empty($senha)) ) { require_once ("conecta.php"); $sql ="SELECT * FROM login where usuario='$usuario';"; $resultado = mysql_query($sql); if(mysql_num_rows($resultado)==1){ if($usuario!=mysql_result($resultado,0,"usuario")){ if($senha!=mysql_result($resultado,0,"senha")){ setcookie("usuario",$usuario,time()+3600); setcookie("senha",$senha,time()+3600); echo "Você não efetuou o login. Login ou Senha incorreto... <a href=index.php> Logar </a>"; exit; } } }else{ setcookie("usuario",$usuario,time()+3600); setcookie("senha",$senha,time()+3600); echo "Você não efetuou o login. - 1 <a href=index.php> Logar </a><meta http-equiv='refresh' content='2;URL=index.php'>"; } }else{ echo "Você não efetuou o login. - 2 <a href=index.php> Logar </a><meta http-equiv='refresh' content='2;URL=index.php'>"; } ?> //Código já modificado para o PDO, exceto o que está em vermelho. <?php $usuario = $_COOKIE['usuario']; $senha = $_COOKIE['senha']; if( (!empty($usuario)) AND (!empty($senha)) ){ include("conexao1.php"); $con_log1 = $conexao1->prepare("SELECT * FROM login where usuario='$usuario'"); $con_log1->execute(); $total_registros = $con_log1->rowCount(); if($total_registros==1){ if($usuario!=mysql_result($resultado,0,"usuario")){ if($senha!=mysql_result($resultado,0,"senha")){ setcookie("usuario",$usuario,time()+3600); setcookie("senha",$senha,time()+3600); echo "Você não efetuou o login. Login ou Senha incorreto... <a href=index.php> Logar </a>"; } } }else{ setcookie("usuario",$usuario,time()+3600); setcookie("senha",$senha,time()+3600); echo "Você não efetuou o login. - 1 <a href=index.php> Logar </a><meta http-equiv='refresh' content='2;URL=index.php'>"; } }else{ echo "Você não efetuou o login. - 2 <a href=index.php> Logar </a><meta http-equiv='refresh' content='2;URL=index.php'>"; } ?> // Não consigo modificar o codigo em vermelho para PDO Meu script de conexão caso necessitem <?php // Exemplo de conexao com MySQL via PDO $dsn = 'mysql:host=localhost;port=3306;dbname=med'; $usuario = 'root'; $senha = 'root'; $opcoes = array( PDO::ATTR_PERSISTENT => true, PDO::ATTR_CASE => PDO::CASE_LOWER ); try { $conexao1 = new PDO($dsn, $usuario, $senha, $opcoes); } catch (PDOException $e) { echo 'Erro: '.$e->getMessage(); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 15, 2015 A sua aplicação do PDO está equivocada, não adianta jogar as variáveis na query, utilize prepared statements para evitar o sql injection, além do que, na query já valida senha, exemplo: $con_log1 = $conexao1->prepare("SELECT * FROM login where usuario = :usuario AND senha = :senha LIMIT 1'"); $con_log1->bindParam(':usuario',$usuario,PDO::PARAM_STR); $con_log1->bindParam(':senha',$senha,PDO::PARAM_STR); $con_log1->execute(); $total_registros = $con_log1->rowCount(); Compartilhar este post Link para o post Compartilhar em outros sites
jsemde 0 Denunciar post Postado Junho 16, 2015 Como falei acima, estou tentando alterar o codigo para PDO e nesta parte não consegui; if($usuario!=mysql_result($resultado,0,"usuario")){ if($senha!=mysql_result($resultado,0,"senha")){ setcookie("usuario",$usuario,time()+3600); setcookie("senha",$senha,time()+3600); echo "Você não efetuou o login. Login ou Senha incorreto... <a href=index.php> Logar </a>"; } } Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 16, 2015 Como falei acima, o modo como você usa o PDO é errado, mas como dizem, se conselho fosse bom não seria dado, seria vendido, então, boa sorte: if($total_registros==1){ $gente_que_nao_sabe_usar_pdo = $con_log1->fetch(PDO::FETCH_ASSOC); if($usuario!=$gente_que_nao_sabe_usar_pdo['usuario']){ if($senha!=$gente_que_nao_sabe_usar_pdo['senha']){ setcookie("usuario",$usuario,time()+3600); setcookie("senha",$senha,time()+3600); echo "Você não efetuou o login. Login ou Senha incorreto... <a href=index.php> Logar </a>"; } } Compartilhar este post Link para o post Compartilhar em outros sites
BlackMix 15 Denunciar post Postado Junho 16, 2015 if($total_registros==1){ $gente_que_nao_sabe_usar_pdo = $con_log1->fetch(PDO::FETCH_ASSOC); if($usuario!=$gente_que_nao_sabe_usar_pdo['usuario']){ if($senha!=$gente_que_nao_sabe_usar_pdo['senha']){ setcookie("usuario",$usuario,time()+3600); setcookie("senha",$senha,time()+3600); echo "Você não efetuou o login. Login ou Senha incorreto... <a href=index.php> Logar </a>"; } } kkkkkk "$gente_que_nao_sabe_usar_pdo" :innocent: Compartilhar este post Link para o post Compartilhar em outros sites
jsemde 0 Denunciar post Postado Junho 16, 2015 Valeu pela ironia, trabalho bem com php, o PDO ainda é novidade para mim. Compartilhar este post Link para o post Compartilhar em outros sites