Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Mostrar foto do banco de dados


jorgeS

Pergunta

Tenho tudo direitinho com cadastro etc, ele faz upload, regista as fotos, so falta quando o utilisador inicia sessao ele mostrar a sua foto, os dados como nome, etc, eu consigo por a aparecer mas a foto não! Quem Poder Ajudar...

Cadastro.php

<?php 

error_reporting(0);
$conn = @mysql_connect("localhost", "root", "") or die ("Problemas na conexão.");
$db = @mysql_select_db("test", $conn) or die ("Problemas na conexão");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulário de Contato Up Inside</title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="box">
<div id="formulario">
<form action="" method="post" enctype="multipart/form-data">
 <fieldset>
 <legend>Cadastre-se</legend>

<?php if (isset($_POST['enviar']) && $_POST['enviar'] == 'send') {

 $nome    = strip_tags(trim($_POST['nome']));
 $usuario   = strip_tags(trim($_POST['usuario']));
 $senha     = strip_tags(trim($_POST['senha']));
 $email     = strip_tags(trim($_POST['email']));


 if (empty($nome)) {
 $retorno = '<span>Digite seu nome</span>';

 }elseif (empty($usuario)){
 $retorno = '<span>Informe o dia em que você nasceu!</span>';
 }elseif (empty($senha)){

 $retorno = '<span>Informe o ano em que você nasceu!</span>';
  }elseif (empty($email)){
 $retorno = '<span>Digite seu e-mail</span>';
 }elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)){
 $retorno = '<span>Digite um e-mail válido</span>';



 }if (empty($retorno)) {

$_UP['pasta'] = 'uploads/';
$_UP['tamanho'] = 1024 * 1024 * 2;
$_UP['extensoes'] = array ('jpg', 'jpeg', 'png', 'gif');
$_UP['renomeia'] = true;

$_UP['errors'][0] = 'Não tivemos errors';
$_UP['errors'][1] = 'A Pasta não foi encontrada';
$_UP['errors'][2] = 'O tamanho da imagem e maior que o permitido';
$_UP['errors'][3] = 'As extensões permitidas para o envio do arquivo são: jpg, png e gif';
$_UP['errors'][4] = 'Não foi feito o upload de sua foto, já existia outra com o mesmo nome';

if ($_FILES['arquivo']['errors'] != 0) {
 die("Não foi possivel enviar sua imagem o erro foi:" . $_UP['errors'][$_FILES['arquivo']['errors']]);
 exit;
}

$extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));
if (array_search($extensao, $_UP['extensoes']) === false) {
 echo "Formato da imagem não e válido, envie com as extensões: jpg, gif ou png!";
}

else if ($_UP['tamanho'] < $_FILES['arquivo']['size']) {
 echo "O arquivo não pode ter mais de 2mb";
}

else {

 if ($_UP['renomeia'] == true) {
 $nome_final = md5(time()).'.jpeg';
 }else{
 $nome_final = $_FILES['arquivo']['name'];
 }

$tam_name = getimagesize($_FILES['arquivo']['tmp_name']);

if ($tam_name[0] >= '201') {
 echo "A imagem deve ter a largura menor ou igual a 200px";
}
if ($tam_name[1] >= '151') {
 echo "A imagem deve ter a altura menor ou igual a 150px";
}else

if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'] . $nome_final)) {

 $cadastro = mysql_query("INSERT INTO usuarios (nome, usuario, senha,email, foto) VALUES ('$nome', '$usuario', '$senha', '$email','$nome_final')");

 if ($cadastro == 1){
 echo '<span>Seu cadastro foi realizado com suscesso, Obrigado por fazer parte de nosso site!</span>';
 }else {
 echo '<span>Erro ao cadastrar, tente novamente</span>';
 }
}
}
}
if ($retorno == 0){
 echo "$retorno";
}else{
}
}
?>

 <label>
 <span>Nome</span>
 <input type="text" name="nome" />
 </label>
 <label>
 <span>usuario</span>
 <input type="text" name="usuario" />
  <label>
 </label> <span>senha</span>
 <input type="text" name="senha" />

 </label>
 <label>
 <span>E-mail</span>
 <input type="text" name="email" />
 </label>


 <label>
 <span>Foto</span>
 <input type="file" name="arquivo" size="16" />
 </label>
 <input type="hidden" name="enviar" value="send" />
 <input type="submit" name="Enviar" />

 </fieldset>
</form>
</div><!--formulario-->
</div>

</body>
</html>
Seguranca.php
<?php

/**
* Sistema de segurança com acesso restrito
*
* Usado para restringir o acesso de certas páginas do seu site
*
* 
* @version 1.0
* @package SistemaSeguranca
*/

//  Configurações do Script
// ==============================
$_SG['conectaServidor'] = true;    // Abre uma conexão com o servidor MySQL?
$_SG['abreSessao'] = true;         // Inicia a sessão com um session_start()?

$_SG['caseSensitive'] = false;     // Usar case-sensitive? Onde 'thiago' é diferente de 'THIAGO'

$_SG['validaSempre'] = true;       // Deseja validar o usuário e a senha a cada carregamento de página?
// Evita que, ao mudar os dados do usuário no banco de dado o mesmo contiue logado.

$_SG['servidor'] = 'localhost';    // Servidor MySQL
$_SG['usuario'] = 'root';          // Usuário MySQL
$_SG['senha'] = '';                // Senha MySQL
$_SG['banco'] = 'test';            // Banco de dados MySQL

$_SG['paginaLogin'] = 'login.php'; // Página de login

$_SG['tabela'] = 'usuarios';       // Nome da tabela onde os usuários são salvos
// ==============================

// ======================================
//   ~ Não edite a partir deste ponto ~
// ======================================

// Verifica se precisa fazer a conexão com o MySQL
if ($_SG['conectaServidor'] == true) {
$_SG['link'] = mysql_connect($_SG['servidor'], $_SG['usuario'], $_SG['senha']) or die("MySQL: Não foi possível conectar-se ao servidor [".$_SG['servidor']."].");
mysql_select_db($_SG['banco'], $_SG['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_SG['banco']."].");
}

// Verifica se precisa iniciar a sessão
if ($_SG['abreSessao'] == true) {
session_start();
}

/**
* Função que valida um usuário e senha
*
* @param string $usuario - O usuário a ser validado
* @param string $senha - A senha a ser validada
*
* @return bool - Se o usuário foi validado ou não (true/false)
*/
function validaUsuario($usuario, $senha) {
global $_SG;

$cS = ($_SG['caseSensitive']) ? 'BINARY' : '';

// Usa a função addslashes para escapar as aspas
$nusuario = addslashes($usuario);
$nsenha = addslashes($senha);

// Monta uma consulta SQL (query) para procurar um usuário
$sql = "SELECT `id`, `email`,`nome` FROM `".$_SG['tabela']."` WHERE ".$cS." `usuario` = '".$nusuario."' AND ".$cS." `senha` = '".$nsenha."    'LIMIT 1";
$query = mysql_query($sql);
$resultado = mysql_fetch_assoc($query);

// Verifica se encontrou algum registro
if (empty($resultado)) {
// Nenhum registro foi encontrado => o usuário é inválido
return false;

} else {
// O registro foi encontrado => o usuário é valido

// Definimos dois valores na sessão com os dados do usuário
$_SESSION['usuarioID'] = $resultado['id']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL
$_SESSION['usuarioID'] = $resultado['id']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL

$_SESSION['usuarioEmail'] = $resultado['email']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL
$_SESSION['usuarioNome'] = $resultado['nome']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL

// Verifica a opção se sempre validar o login
if ($_SG['validaSempre'] == true) {
// Definimos dois valores na sessão com os dados do login
$_SESSION['usuarioLogin'] = $usuario;
$_SESSION['usuarioSenha'] = $senha;


}

return true;
}
}

/**
* Função que protege uma página
*/
function protegePagina() {
global $_SG;

if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
// Não há usuário logado, manda pra página de login
expulsaVisitante();
} else if (!isset($_SESSION['usuarioID']) OR !isset($_SESSION['usuarioNome'])) {
// Há usuário logado, verifica se precisa validar o login novamente
if ($_SG['validaSempre'] == true) {
// Verifica se os dados salvos na sessão batem com os dados do banco de dados
if (!validaUsuario($_SESSION['usuarioLogin'], $_SESSION['usuarioSenha'])) {
// Os dados não batem, manda pra tela de login
expulsaVisitante();
}
}
}
}

/**
* Função para expulsar um visitante
*/
function expulsaVisitante() {
global $_SG;

// Remove as variáveis da sessão (caso elas existam)
unset($_SESSION['usuarioID'], $_SESSION['usuarioNome'], $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha']);

// Manda pra tela de login
header("Location: ".$_SG['paginaLogin']);
}

?>
Valida.php
<?php
// Inclui o arquivo com o sistema de segurança

include("seguranca.php");



// Verifica se um formulário foi enviado

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

// Salva duas variáveis com o que foi digitado no formulário

// Detalhe: faz uma verificação com isset() pra saber se o campo foi preenchido

$usuario = (isset($_POST['usuario'])) ? $_POST['usuario'] : '';

$senha = (isset($_POST['senha'])) ? $_POST['senha'] : '';



// Utiliza uma função criada no seguranca.php pra validar os dados digitados

if (validaUsuario($usuario, $senha) == true) {

// O usuário e a senha digitados foram validados, manda pra página interna

header("Location: index.php");

} else {

// O usuário e/ou a senha são inválidos, manda de volta pro form de login

// Para alterar o endereço da página de login, verifique o arquivo seguranca.php

expulsaVisitante();

}

}
?>
login.php
<form method="post" action="valida.php">
<label>Usuário</label>
<input type="text" name="usuario" maxlength="50" />

<label>Senha</label>
<input type="password" name="senha" maxlength="50" />

<input type="submit" value="Entrar" />
</form>
index.php e aqui que não consigo exibir foto, já tentei muita coisa mas nada!
<?php

include("seguranca.php"); // Inclui o arquivo com o sistema de segurança

protegePagina(); 

echo "Olá, " . $_SESSION['usuarioFoto'];
echo "Olá, " . $_SESSION['usuarioEmail'];
echo "Olá, " . $_SESSION['usuarioNome'];

?>

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Para exibir a imagem a partir de uma URL você tem que usar a tag html IMG.

Além do que os dados do usuário não deveriam ser guardados numa sessão para depois você exibir. Deveria vir direto do BD.

echo "Olá, <img src=" . $_SESSION['usuarioFoto'].">;
Editado por Norivan Oliveira
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...