Ir para conteúdo

Rodrigo5468

Members
  • Total de itens

    145
  • Registro em

  • Última visita

Reputação

0 Comum

1 Seguidor

Sobre Rodrigo5468

  1. Variável HTML

    Beleza! Suponhamos que tenho todas as variáveis prontas. <?php $url = "http://meu-site.com.br"; $title = "Meu Site"; $pastacss = "http://meu-site.com.br/css"; $pastajs = "http://meu-site.com.br/js"; ?> Certo né? Aí na tag do html <head> eu quero usar essa variável da pasta css. Vamos usa-lá. <!-- Usa Assim --> <link href="../css/meu-css.css" rel="stylesheet"/> <!-- Com PHP --> <link href="<?php $pastacss;?>/meu-css.css" rel="stylesheet"/> Só que em vez de usar <?php $pastacss;?> eu quero usar assim. <link href="{pastacss}/meu-css.css" rel="stylesheet"/> Como posso fazer isso? Desde já, obrigado mais uma vez.
  2. Variável HTML

    Olá. <link href="{T_THEME_PATH}/plupload.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet"> Eu queria saber como posso fazer essas variáveis com php e poder chamar elas no html. Tipo um diretório padrão. {T_THEME_PATH} - http://seu-site.com.br/ {T_ASSETS_VERSION} - tro Aí o link fica assim no arquivo <link href="{T_THEME_PATH}/plupload.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet"> Mas é assim http://seu-site.com.br/plupload.css?assets_version=two Desde já agradeço.
  3. Transformando Texto em Imagem

    Realmente... Troquei para image/png e image/gif mas não obtive resultado. Se puder me ajudar a chegar ao meu objetivo fico agradecido, e me falar onde devo corrigir e o quê corrigir. Muito obrigado.
  4. Transformando Texto em Imagem

    Olá a todos! Eu tenho um código que adiciona um texto em uma imagem, ok, está funcionando normalmente. Mas eu quero fazer o seguinte. Quero criar um formulário com um campo input, desse jeito: <form action="" method="get"> <input name="nome" type="text" placeholder="Texto a ser Gerado" size="100"/> <input type="submit" value="Criar Imagem"/> </form> Aqui é um código PHP que insere um texto em uma imagem. <?php //Define o header como sendo de imagem header("Content-type: image/jpeg"); //Cria a imagem a partir de uma imagem jpeg $i = imagecreatefromjpeg("modelo.jpg"); // Definições $preto = imagecolorallocate($i, 0,0,0); #Cor do texto; "cor preta" $texto = "Exemplo"; #Texto a ser escrito $fonte = "trebuc.ttf"; #Fonte que será utilizada //Escreve na imagem imagettftext($i, 32, 0, 160,360, $preto, $fonte, $texto); //Gera a imagem na tela imagejpeg($i); //Destroi a imagem para liberar memória imagedestroy($i); ?> Só que eu não quero isso, irei explicar detalhadamente o que desejo fazer. Quero esse formulário que deixei de exemplo, e quero que após escrever algo nele e clicar em Criar Imagem é gerada uma imagem com o fundo transparente com o texto inserido. Quais são as alterações que devo fazer no código? Onde e como? Muito obrigado a todos pela atenção.
  5. Login

    @Gabriel Heming então eu não posso fazer o meu sistema de cadastro e login dessa forma? Se não, posso aproveitar o código até que ponto? E como fazer? Aguardo a sua resposta, obrigado desde já. #Edit Arquivo Crud.php <?php require_once 'DB.php'; abstract class Crud extends DB { protected $table; abstract public function insert(); abstract public function update($id); public function find($id) { $sql = "SELECT * FROM $this->table WHERE id = :id"; $stmt = DB::prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_INT); $stmt->execute(); return $stmt->fetch(); } public function findAll() { $sql = "SELECT * FROM $this->table"; $stmt = DB::prepare($sql); $stmt->execute(); return $stmt->fetchAll(); } public function delete($id) { $sql = "DELETE FROM $this->table WHERE id = :id"; $stmt = DB::prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_INT); return $stmt->execute(); } }
  6. Login

    @FaahWl estou começando a entender, obrigado por me responder. Alterei o código e ficou assim, antes: $resultado = $stmt->fetch(\PDO::FETCH_ASSOC); $dadosJaExistem = array_intersect([ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email], $resultado ); Agora o código está assim, agora: //Tentei assim $dadosJaExistem = array_intersect([ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email ]); //Tentei assim, também $resultado = array ( 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email ); $dadosJaExistem = array_intersect([ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email], $resultado ); //E também tentei assim $resultado = array ( 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email ); $dadosJaExistem = array_intersect($resultado); //E por fim, também tentei assim $dadosJaExistem = [ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email ]; E sempre, sempre mostrava esse erro agora. No último código faltava que os dados já estavam registrados no banco de dados. A última parte eu não entendi muito bem, sou novo nesse assunto, poderia me ajudar mais? @Gabriel Heming tenho um arquivo chamado CRUD, e o Usuarios.php está chamando esse arquivo. Foi isso? Não entendi muito bem, peço a sua colaboração poderia me explicar mais? Muito obrigado a todos
  7. Login

    Olá. Estou fazendo um sistema de cadastro e login, está funcionando quais perfeitamente. Porem tem alguns erros que eu não consigo resolver, já procurei na internet mas não achei nada relevante. Poderia me ajudar? Usuarios.php <?php require_once 'Crud.php'; class Usuarios extends Crud { protected $table = 'usuarios'; private $usuario; private $nomesobrenome; private $email; private $senha; public function setUsuario($usuario) { $this->usuario = $usuario; } public function setNomesobrenome($nomesobrenome) { $this->nomesobrenome = $nomesobrenome; } public function setEmail($email) { $this->email = $email; } public function setSenha($senha) { if(!empty($senha)) { $options = [ 'cost' => 11, ]; $this->senha = password_hash($senha, PASSWORD_BCRYPT, $options); if(password_verify($senha, $this->senha)) { return true; } } return false; } public function insert() { $propriedades = [ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email, 'senha' => $this->senha ]; if(strlen($this->senha) < 8) { return('A sua senha precisa ter pelo menos 8 caracteres.'); exit(); } if(!filter_var($this->email, FILTER_VALIDATE_EMAIL)) { return('E-mail invalido.'); exit(); } foreach($propriedades as $propriedade => $valor) { if(empty($this->$propriedade)) { return('O campo '.$propriedade.' não foi preenchido.'); exit(); } } $stmt = DB::prepare("SELECT * FROM {$this->table} WHERE usuario=:usuario OR nomesobrenome=:nomesobrenome OR email=:email"); $stmt->bindValue(':usuario',$this->usuario,PDO::PARAM_STR); $stmt->bindValue(':nomesobrenome',$this->nomesobrenome,PDO::PARAM_STR); $stmt->bindValue(':email',$this->email,PDO::PARAM_STR); $stmt->execute(); $resultado = $stmt->fetch(\PDO::FETCH_ASSOC); $dadosJaExistem = array_intersect([ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email], $resultado ); if($dadosJaExistem) { $mensagem = 'O(s) valor(es): ' . implode(', ', $dadosJaExistem) . ' já existem no banco de dados, por favor escolha outro(s).'; return($mensagem); exit(); } $sql = "INSERT INTO $this->table (usuario, nomesobrenome, email, senha) VALUES (:usuario, :nomesobrenome, :email, :senha)"; $stmt = DB::prepare($sql); $stmt->bindParam(':usuario', $this->usuario); $stmt->bindParam(':nomesobrenome', $this->nomesobrenome); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); if($stmt->execute()) { return 'Conta registrada com sucesso!'; exit(); } return 'Falha ao cadastrar.'; } public function login($usuario, $email, $senha) { try { $stmt = DB::prepare("SELECT id, usuario, email, senha FROM $this->table WHERE usuario = :usuario OR email=:email"); $stmt->execute(array(':usuario'=>$usuario, ':email'=>$email)); $row = $stmt->fetch(PDO::FETCH_ASSOC); if($stmt->rowCount() == 1) { if(password_verify($senha, $row['senha'])) { $_SESSION['user_session'] = $row['id']; return true; }else { return false; } } }catch(PDOException $e) { echo $e->getMessage(); } } public function is_loggedin() { if(isset($_SESSION['user_session'])) { return true; } } public function redirect($url) { header("Location: $url"); } public function logout() { session_destroy(); unset($_SESSION['user_session']); return true; } public function update($id) { $sql = "UPDATE $this->table SET usuario = :usuario, nomesobrenome = :nomesobrenome, email = :email, senha = :senha WHERE id = :id"; $stmt = DB::prepare($sql); $stmt->bindParam(':usuario', $this->usuario); $stmt->bindParam(':nomesobrenome', $this->nomesobrenome); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); $stmt->bindParam(':id', $id); return $stmt->execute(); } } session.php <?php session_start(); function __autoload($class_name){ require_once 'classes/' . $class_name . '.php'; } $session = new Usuarios(); if(!$session->is_loggedin()) { $session->redirect('index'); } Esses dois arquivos ficam dentro de uma pasta chamada classe. E esse fica no diretório raiz. login.php <?php session_start(); function __autoload($class_name){ require_once 'classes/' . $class_name . '.php'; } $login = new Usuarios(); if($login->is_loggedin()!="") { $login->redirect("index"); } if(isset($_POST["btn-entrar"])) { $usuario = strip_tags($_POST["usuario_email"]); $email = strip_tags($_POST["usuario_email"]); $senha = strip_tags($_POST["senha"]); if($login->Login($usuario,$email,$senha)) { $login->redirect("index"); }else { $error = "Detalhes errados."; } } ?> index.php <?php require_once("classes/session.php"); require_once("classes/Usuarios.php"); $auth_user = new Usuarios(); $user_id = $_SESSION['user_session']; $stmt = $auth_user->runQuery("SELECT * FROM users WHERE user_id=:user_id"); $stmt->execute(array(":user_id"=>$user_id)); $userRow=$stmt->fetch(PDO::FETCH_ASSOC); ?> Os erros que dá são esses... — Quando vai registrar — Quando vai fazer o login Por favor, peço a vocês que me auxilie com os avisos e erros. Muito obrigado.
  8. Verificar campos e DB

    Olá! Estrutura do Projeto. Usuarios.php public function insert() { try { $propriedades = [ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email, 'senha' => $this->senha ]; if(!filter_var($this->email, FILTER_VALIDATE_EMAIL)) { throw new \Exception('E-mail invalido!'); } foreach($propriedades as $propriedade => $valor) { if(empty($this->$propriedade)) { throw new \Exception('o campo '. $propriedade . ' não foi preenchido!'); } } }catch(Exception $e) { $error_message = $e->getMessage(); } $stmt = DB::prepare("SELECT * FROM {$this->table} WHERE usuario=:usuario OR nomesobrenome=:nomesobrenome OR email=:email"); $stmt->bindValue(':usuario',$this->usuario,PDO::PARAM_STR); $stmt->bindValue(':nomesobrenome',$this->nomesobrenome,PDO::PARAM_STR); $stmt->bindValue(':email',$this->email,PDO::PARAM_STR); $stmt->execute(); $resultado = $stmt->fetch(\PDO::FETCH_ASSOC); $dadosJaExistem = array_intersect([ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email], $resultado ); if($dadosJaExistem) { $mensagem = 'O(s) valor(es): ' . implode(',', $dadosJaExistem) . ' ja existem no banco de dados, por favor escolha outro(s)'; throw new Exception($mensagem); } $sql = "INSERT INTO $this->table (usuario, nomesobrenome, email, senha) VALUES (:usuario, :nomesobrenome, :email, :senha)"; $stmt = DB::prepare($sql); $stmt->bindParam(':usuario', $this->usuario); $stmt->bindParam(':nomesobrenome', $this->nomesobrenome); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); if ($stmt->execute()) { return 'Conta registrada com sucesso! Você deverá confirmar a conta em seu endereço de e-mail.'; } return 'Falha ao cadastrar!'; } index.php <?php $usuarios = new Usuarios(); if(isset($_POST['cadastrar'])) { $usuario = $_POST['usuario']; $nomesobrenome = $_POST['nomesobrenome']; $email = $_POST['email']; $senha = $_POST['senha']; $usuarios->setUsuario($usuario); $usuarios->setNomesobrenome($nomesobrenome); $usuarios->setEmail($email); $usuarios->setSenha($senha); echo $usuarios->insert(); if(isset($error_message)) { echo $error_message; } } ?> Já tentei de tudo e ainda estou tentando. Obrigado mais uma vez.
  9. Verificar campos e DB

    Desculpe a demora, estava sem internet. @EdCesar eu li todos os links e mais alguns por fora e, cheguei a conclusão que o código está correto (eu acho). Esse erro está falando que o e-mail é invalido, está certo. Mas esse código ele ta em classes/ E tenho o index que deveria aparecer esse erro como um diálogo (pop-up), informando que algum desses dados são inválidos ou já existem no banco de dados. Eu preciso ignorar esse erro, para ele não redirecionar para essa tela e colocar em uma div, como um diálogo. Preciso puxar o erro para o index. Como eu posso fazer isso? Já pesquisei, tentei usar um try/catch e puxar a variável $erro para o index, assim mostrando o erro diagnosticado no arquivo Usuários.php da pasta classes/, mas não conseguir, poderia me dá uma força? Desde já muito obrigado.
  10. Verificar campos e DB

    Tive alguns problemas pessoais e não conseguir acessar o fórum. Campos em brancos: Usando o seguinte código dá esse erro. $propriedades = [ 'usuario' => $this->usuario, 'nomesobrenome' => $this->nomesobrenome, 'email' => $this->email, 'senha' => $this->senha ]; if(!filter_var($this->email, FILTER_VALIDATE_EMAIL)) { throw new \Exception('E-mail invalido!'); } foreach($propriedades as $propriedade => $valor) { if(empty($this->$propriedade)) { throw new \Exception('o campo '. $propriedade . ' não foi preenchido!'); } } Mas se eu trocar o trecho "throw new \Exception" por "return" o código funciona. Mas se eu preencher todos os campos, e deixar a senha em branco ele insere um cadastro no banco de dados com a senha em branco. Não dá erro nenhum. Já a baste para identificar quais os campos existem já cadastros no banco de dados sempre da um erro que o e-mail está invalido. Já tentei substituir o "throw new Exception" pelo "return" e colocar uma barra invertida no Exception mas nada. Já pesquisei em diversões fóruns, vídeos mas nada não tô conseguindo consertar o código. Poderia me explicar como eu posso conserta-lo? Desde já obrigado.
  11. Verificar campos e DB

    Sim, eu já fiz os try/catch e apliquei os exemplos dos links. Verificar se existe campos em brancos, e quais são if(empty($this->usuario) OR empty($this->nomesobrenome) OR empty($this->email) OR empty($this->senha)) { if(empty($this->usuario)) return 'Campo Usuário em branco.'; if(empty($this->nomesobrenome)) return 'Campo Nome/Sobrenome em branco.'; if(empty($this->email)) return 'Campo E-mail em branco'; if(empty($this->senha)) return 'Campo Senha em branco.'; } Verificar quais campos estão cadastrado no banco de dados, e quais são if($usuarioExiste) { if($this->usuario) return 'Usuario já existe!'; if($this->nomesobrenome) return 'Nome/Sobrenome já existe!'; if($this->email) return 'E-mail já existe!'; } Para verificar se os campos em branco, ele funciona perfeitamente, mas quando deixa o campo senha em branco ele não apresenta o erro. E o usuário sempre, sempre mostra o primeiro return que é "Usuário já existe". Estou pesquisando em diversos fóruns, artigos, youtube para conseguir arrumar mas não consigo. Se poder me explicar um pouco mais eu agradeço de coração.
  12. Verificar campos e DB

    Bom, tentei fazer do seu método mas já erro. E como eu posso diminuir ou até tirar a complexidade ciclamática? Desde já, obrigado mais uma vez.
  13. Verificar campos e DB

    Olá novamente! Fiz aqui para ter uma validação um pouco melhor, mas acho que estou fazendo errado, pois não está funcionando perfeitamente. Verificando se existe campos em brancos, e quais deles estão em branco. if(empty($this->usuario) OR empty($this->nomesobrenome) OR empty($this->email) OR empty($this->senha)) { if(empty($this->usuario)) { return 'Usuário está em branco.'; }elseif(empty($this->nomesobrenome)) { return 'Nome/Sobrenome está em branco.'; }elseif(empty($this->email)) { return 'E-mail está em branco está em branco.'; }elseif(empty($this->senha)) { return 'Senha está em branco.'; }else{ return 'Usuário, Nome/Sobrenome, E-mail, Senha, estão em branco.'; } return 'Preencha todos os campos em branco.'; } Verificando se existe algum campo registrado no banco de dados, e quais deles são. public function insert() { if($this->usuario) { return 'Campo Usuário já está cadastrado em nosso banco de dados.'; }elseif($this->nomesobrenome) { return 'Campo Nome/Sobrenome já está cadastrado em nosso banco de dados.'; }elseif($this->email) { return 'Campo E-mail já está cadastrado em nosso banco de dados.'; }else{ return 'Algum desses campos já estão cadastrado em nosso banco de dados: Usuário, Nome/Sobrenome ou E-mail.'; } return 'Algum dado que você tentou inserir já consta em nosso banco de dados.'; } Quando chega para verificar se a senha está em branco ou não, ele prossegue e cadastra o usuário com senha nula. E a mensagem de erro para verificar se existe algum dado já em nosso banco de dados, ele sempre mostra a opção Usuário. Por favor, como faço para arrumar este pequeno detalhe? Obrigado mais uma vez.
  14. Verificar campos e DB

    Entendi tudo por enquanto, mas estou com uma pequena dúvida, por favor me esclareça. @EdCesarpode perceber que você citou esses dois últimos códigos. "Tem outras coisas também que é importante tratar, também como: $nome = (isset($_POST['usuario'])) ? $_POST['usuario'] : ''; ou no PHP 7: $usuario = $_POST['usuario'] ?? ''; " Eu tenho meus três "private" que irei utilizar para mostrar o usuário os dados incorretos, e que ele precisa corrigir para cadastrar no sistema. private private $usuario; private $nomesobrenome; private $email; Aqui nesses seguintes códigos eu quero especificar os campos, usarei o código acima de exemplo que você deixou? Eu testei aqui mas não obtive resultados, se poder me deixar um exemplo. if(empty($this->usuario) OR empty($this->nomesobrenome) OR empty($this->email) OR empty($this->senha)) { return 'Existe campos vazios!'; } ##################### if($usuarioExiste) { return 'Usuario já existe!'; } Eu quero especificar se é o usuário, nomesobrenome ou e-mail que está vazio, ou se algum desses dados já existem. Exemplo: "O campo usuário está vazio, por favor, preencha!" "O endereço de e-mail que você forneceu já existe em nosso banco de dados, tente usar outro." Muito obrigado por tudo mais uma vez.
  15. Verificar campos e DB

    Pow cara!!! O código fincou bem simples e funciona perfeitamente. Você disse "mas esta certo de que deseja um OR, e não um END?" Não entendi muito bem o end, seria and? Estou começando agora, não sei qual é o melhor para usar o or, end ou and. Se poder me dá uma força. echo 'Existe campos vazios.</div>'; # Dar echo dentro da classe não é bom! Você também escreveu isso no código. Também não acho legal dar echo dentro da classe. Eu queria puxar um echo e colocar as informações na página register.php como posso fazer isso? Exemplo: <?php $usuarios = new Usuarios(); if(isset($_POST['cadastrar'])) { $usuario = $_POST['usuario']; $nomesobrenome = $_POST['nomesobrenome']; $email = $_POST['email']; $senha = $_POST['senha']; $usuarios->setUsuario($usuario); $usuarios->setNomesobrenome($nomesobrenome); $usuarios->setEmail($email); $usuarios->setSenha($senha); #Insert if($usuarios->insert()) { echo 'Conta registrada com sucesso! Você deverá confirmar a conta em seu endereço de e-mail.</div>'; } #Dar echo aqui falando que existe campos vazios. #Dar echo aqui falando que algum dado que ele tentou registrar já existe no banco de dados. } ?> Obrigado por tudo cara, muito obrigado mesmo.
×

Informação importante

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

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: