Ir para conteúdo

POWERED BY:

Arquivado

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

jsemde

Pdo

Recommended Posts

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

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

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

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

×

Informação importante

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