mudar esta sintaxe PDO para mysql...
|
24-01-2015, 01:28
Mensagem: #1
|
|||
|
|||
mudar esta sintaxe PDO para mysql...
Boa noite, obtive este script de codigo num video tutorial, que no fundo serve para saber se os dados se login estão corretos e se realmente tiverem,faz um inicio de sessão com o user e AVATAR...!
Oproblema é que no video tudo corre bem, nao aparece erros mas como mostro no script...NA ULTIMA LINHA , APRESENTA-ME UM ERRO.... COMO PODERIA FAZER UM INICIO DE SESSÃO COM UM AVATAR, UMA VEZ QUE É UM "OBJECTO "DIFERENTE? INICIAR SESSAO USANDO A SINTAXE MYSQL, EU JÁ O FIZ....SÓ QUE NAO SEI COMO FAZER INICIAR A SESSAÕ DO AVATAR....ISTO FAZ PARTE DE UM PEQUENO FORUM QUE ESTOU CONSTRUINDO ONDE QUERO APRESENTAR ASSIM QUE ENTRO NA PAGINA FORUM.PHP , APRESETANDO O NOME DO UTILIZADOR E O AVATAR CORRESPONDENTE.... //variaveis da base de dados... include 'config.php'; //ligação á base de dados... $ligacao = new PDO("mysql: dbname=$base_dados;host=$host", $user ,$password); //instrução sql... $motor = $ligacao->prepare("SELECT * FROM users WHERE username = ? AND pass = ?"); //introduzir os parametros $motor->bindParam(1,$utilizador, PDO::PARAM_STR);//PARAMETRO DE STRING $motor->bindParam(2,$password_utilizador, PDO::PARAM_STR); //executar $motor->execute(); //fechar a ligação $ligacao = null; //verifica se os dados correspondem a valores da base de dados if($motor->rowCount() == 0) { //ERRO - DADOS INVALIDOS echo '<div class="erro"> dados de login invalidos. <br> <br> <a href="index.php">tente novamente</a> </div>'; exit; } else { //definir os dados da sessão... $_SESSION['user'] = $utilizador ; //ERRO FICA NESTA LINHA ABAIXO.... $_SESSION['avatar'] = $motor->fetch(PDO::FETCH_ASSOC)['avatar']; |
|||
24-01-2015, 21:08
(Esta mensagem foi modificada pela última vez a: 24-01-2015 21:16 por eSkiSo.)
Mensagem: #2
|
|||
|
|||
RE: mudar esta sintaxe PDO para mysql...
Já agora experimenta fazer isto:
$dados_user = $motor->fetch(PDO::FETCH_ASSOC); [font=Verdana, Arial, sans-serif]$_SESSION['avatar'] = $dados_user['avatar']; [/font] [font=Verdana, Arial, sans-serif]Se não resultar poderá ser por estares a por ligação como null?[/font] E um pequeno aparte, se vai guardar passwords como texto...meu deus... isso não se faz, usa uma hash ao registrar, pelo menos ao registrar faz algo do genero: //no topo define(SALT, "fdsklç3F#324=?3532k523?Dl2d"); // ou algo do genero, neste caso a SALT tem de se manter igual .... $password = md5($password.SALT); // e guardas isto como password .... quando o utilizador estiver a fazer login antes de colocares a password na query fazes o mesmo -> md5($password.SALT); |
|||
27-01-2015, 15:22
Mensagem: #3
|
|||
|
|||
RE: mudar esta sintaxe PDO para mysql...
(24-01-2015 21:08)eSkiSo Escreveu: Já agora experimenta fazer isto:Hummmmm.... muito obrigado pela dica, eu ainda sou novato nisto, nem sequer me ensinaram php, so html....o php tem sido as minhas custas com a ajuda do google e do forum e de um livro tb , mais uma vez , muito obrigado , provavelmente ainda terei mais algumas duvidas |
|||
01-02-2015, 13:19
Mensagem: #4
|
|||
|
|||
RE: mudar esta sintaxe PDO para mysql...
Devias investir um tempinho a aprender uma framework php, eu uso o Codeigniter ( http://www.codeigniter.com/ ) é relativamente facil de aprender e a documentação ajuda-te bastante. E tens varios videos no Youtube a explicar como trabalhar com o codeigniter do principio ao fim.
|
|||
01-02-2015, 23:38
Mensagem: #5
|
|||
|
|||
RE: mudar esta sintaxe PDO para mysql...
(01-02-2015 13:19)eSkiSo Escreveu: Devias investir um tempinho a aprender uma framework php, eu uso o Codeigniter ( http://www.codeigniter.com/ ) é relativamente facil de aprender e a documentação ajuda-te bastante. E tens varios videos no Youtube a explicar como trabalhar com o codeigniter do principio ao fim.muito obg pela resposta, vou ver !! |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 1 Visitante(s)