Image Return Json Database

Asked

Viewed 448 times

0

Initially for clarification, I’m trying to create a hybrid html, javascript and css app.

objectively, my obstacle is to display on the user screen your avatar, which is in a Mysql database directory on my computer.

I can send the image by Json with the Formdata method without problems. At the time of returning the login with the user data it displays the information that armezeno with localStorage.setItem. But the image it displays only the name with the file path.

I’ve done a lot of research, I broke my head and I couldn’t. If you can help me, thank you. I’ll send my codes

Log in

$(document).ready(function(){
$.ajax({
    type:'post',                                        //Definimos o método HTTP usado
    dataType: 'json',                                   //Definimos o tipo de retorno
    url: 'http://xxxxx/classes/vlogin.php', //Definindo o arquivo onde serão buscados os dados
    data:{
        nemail: email,
        nsenha: senha,
    },
    success: function(dados){

        if (dados == false){
            $("#btn").show();
            $("#menssagem_login").html("Login ou senha Invalidos");     
        }

        else{
            localStorage.setItem('id', dados[0]);
            localStorage.setItem('nome', dados[1]);
            localStorage.setItem('email', dados[2]);
            localStorage.setItem('estado', dados[3]);
            localStorage.setItem('senha', dados[4]);
            localStorage.setItem('tipo', dados[5]);
            localStorage.setItem('data', dados[6]);
            localStorage.setItem('imagem', dados[7]);

            // var obj = JSON.parse(dados);
            // var obj = jQuery.parseJSON(dados);   //tratar os dados
            // var obj = $.parseJSON(dados);    //tratar os dados
            window.location = "estrutura/perfil.html";
            console.log(dados);
        }
        }
    });
});

    $email =  $_POST['nemail'];
$senha =    $_POST['nsenha'];

$pasta = 'fotos/';

 include "conexao.php";
 $link = conexao();

$sql = "SELECT * FROM usuario WHERE email = '$email' AND senha = '$senha' AND ativo = 0";

$resultado = mysqli_query($link, $sql) or die (mysqli_error($link));
$vazio = mysqli_num_rows($resultado);

if($vazio == ''){
echo json_encode(false);
}

else{
$registro = mysqli_fetch_array($resultado);
// $registro = mysqli_fetch_object($resultado);

// $imagem1 = scandir($pasta,$imagem);
// $lista_dir = scandir($pasta);
// $img;
// foreach ($lista_dir as $registro['imagem']) {
//  $img; 
// }

$id         = $registro['id'];
$nome       = $registro['nome'];
$email      = $registro['email'];
$estado     = $registro['estado'];
$senha      = $registro['senha'];
$tipo       = $registro['tipo'];
$data       = $registro['data'];
$imagem     = $pasta.$registro['imagem'];

// $imagem= $_FILE[$pasta][ $registro['imagem']];
// $imagem= base64_encode($imagem);

$retorno= array($id,$nome,$email,$estado,$senha,$tipo,$data,$imagem);

echo json_encode($retorno);
// echo json_encode($registro);
}
function carrega_perfil(){

var nome = localStorage.getItem('nome');
var email = localStorage.getItem('email');
var estado = localStorage.getItem('estado');
var tipo = localStorage.getItem('tipo');
var data = localStorage.getItem('data');
var imagem = localStorage.getItem('imagem');

// document.getElementById('status').innerHTML=nome+"<br>"+email;
document.getElementById('status').innerHTML=nome;

document.getElementById('avatar').innerHTML= "<img src="+imagem+" />";
console.log(nome);
  • Where you’re trying to show the picture?

  • Oops, I was trying to show the image in an HTML, the code did not appear

  • 1

    Document.getElementById('avatar'). innerHTML= "<img src="+image+" />";

  • 1

    But I did. It was quite simple. In the $php folder variable where the images are I changed to the full path of the server address. Thanks

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.