Gabrielvt14

Membros
  • Content Count

    40
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Gabrielvt14

  • Birthday 03/30/1996

Perfil

  • Gender
    Male
  • Location
    São Paulo

Recent Profile Visitors

748 profile views
  1. Olá. Estou aprendendo a usar o bootstrap. Em meus estudos me surgiu uma duvida. Se há como centralizar todo conteudo de uma div. Tenho códigos de exemplo... <!DOCTYPE html> <html> <head> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="style.css"> <script type="text/javascript" src="bootstrap.min.js"></script> </head> <body> <div class="container-fluid"> <div class="container"> <h1>Bootstrap <small>Meu primeiro site</small></h1> <p>Usando o bootstrap</p> </div> <div class="container" id="homer"> <div class="container col-xs-12 col-sm-6 col-md-6 col-lg-3"> <img src="1.png" class="img-responsive"> </div> <div class="container col-xs-12 col-sm-6 col-md-6 col-lg-3"> <img src="1.png" class="img-responsive"> </div> <div class="container col-xs-12 col-sm-6 col-md-6 col-lg-3"> <img src="1.png" class="img-responsive"> </div> <div class="container col-xs-12 col-sm-6 col-md-6 col-lg-3"> <img src="1.png" class="img-responsive"> </div> </div> <div class="container" id="planos"> <div class="row col-xs-12 col-sm-12 col-md-6 col-lg-6" style="background-color: black"> <p>Lorem Ipsum</p> <p>Lorem Ipsum</p> <p>Lorem Ipsum</p> </div> <div class="row col-xs-12 col-sm-12 col-md-6 col-lg-6" style="background-color: black"> <h3>Nossos Planos</h3> <div class="row col-xs-12 col-sm-12 col-md-12 col-lg-12"> <button class="btn btn-primary">Lorem Ipsum</button> </div> <div class="row col-xs-12 col-sm-12 col-md-12 col-lg-12"> <button class="btn btn-primary">Lorem Ipsum</button> </div> <div class="row col-xs-12 col-sm-12 col-md-12 col-lg-12"> <button class="btn btn-primary">Lorem Ipsum</button> </div> </div> </div> </div> </body> </html> No id="planos" tenho tres botões, quero eles um abaixo do outro, dentro da mesma row, até ai beleza. Mas queria centralizar na div esses botoes... O texto "Nossos Planos" eu consigo centralizar com "text-align", mas teria uma forma de eu centralizar os botões ou qualquer outro conteudo de uma div? desde já grato!
  2. A senha esta criptografada com PASSWORD_HASH Estou debatendo em outro fórum, caso queira acompanhar http://pt.stackoverflow.com/questions/176267/ajuda-com-sistema-de-login
  3. Estou montando um sistema de login. Mas não consigo fazer a validação da senha digitada. Quando tento desta forma ele acusa login/senha errado. Mas já me certifiquei, o login e senha estao corretos: <?php require_once 'init.php'; // resgata dados digitados no formulario $email = isset($_POST['email']) ? $_POST['email']: ''; $senha = isset($_POST['senha']) ? $_POST['senha']: ''; // Verifica se os campos do form não estao vazios if(empty($email) || empty($senha)){ echo "<script language='javascript' type='text/javascript'>alert('Infome Email e senha.');window.location.href='../login.php';</script>"; exit; } // Comando no banco de dados $pdo = db_connect(); // Abre conexão com o banco $sql = "SELECT id, nome FROM usuarios WHERE email = :email AND senha = :senha"; // Cria query $stmt = $pdo->prepare($sql); // Prepare da query $stmt->bindValue(':email', $email); $stmt->bindValue(':senha', $senha); // Atribui valor do campo email no valor email da query $stmt->execute(); // Execute na query $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); // Cria array associativo if(count($arr) <= 0) { // Verifica se a busca trouxe retorno echo "<script language='javascript' type='text/javascript'>alert('Login e/ou senha inválido!');window.location.href='../login.php';</script>"; exit; } // Pega o primeiro usuario $user = $arr[0]; // Inicia a sessão session_start(); // Definir os dados persistindo entre paginas $_SESSION['logged_in'] = true; $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['nome']; header('Location: ../index.php'); Quando dou var_dump($arr); ele me retorna um array vazio, por isso ele não faz o login. Alguém poderia me auxiliar? Grato!
  4. Olá. Estou desenvolvendo um sistema de login para fins de estudo em php. Estou com dificuldade para fazer a validação se o usuario esta logado, para dar acesso a ele as paginas ou não. Achei na internet um tutorial disso, mas no arquivo de validação usado tinha a seguinte linha de comando: if (!isLoggedIn){ header('Location: login.php'); } Era somente isso no arquivo de validação, ai dizia que era só fazer require nas paginas. Resolvi tentar isso, mas quando executo o código, ele me faz o login e me retorna: NOTICE: Use of undefined constant isLoggedIn - assumed 'isLoggedIn' in C:\wamp64\www\ProjetoALPHA\core\check.php on line 6 Não faz exatamente login, porque se na pagina de login eu ir na URL e tocar de login.php para index.php ele entra na index como se eu estivesse logado no sistema. Alguém poderia me auxiliar com isso?
  5. Olá. Estou criando um sistema de login para fins de estudo. Identifiquei no me arquivo que não esta populando o array com as informações do banco de dados... e sim, já me certifiquei que o email e senha informados já existe na base de dados. Segue arquivo de login.php: <?php require_once 'init.php'; // resgata dados digitados no formulario $email = isset($_POST['email']) ? $_POST['email']: ''; $senha = isset($_POST['senha']) ? $_POST['senha']: ''; // Cria o hash da senha $seg_senha = password_hash($senha, PASSWORD_DEFAULT); // Verifica se os campos do form não estao vazios if(empty($email) || empty($senha)){ echo 'Informe Email e Senha'; exit; } // Comando no banco de dados $pdo = db_connect(); // Abre conexão com o banco $sql = "SELECT id, nome FROM usuarios WHERE email = :email AND senha = :senha"; // Cria query $stmt = $pdo->prepare($sql); // Prepare da query $stmt->bindParam(':email', $email); // Atribui valor do campo email no valor email da query $stmt->bindParam(':senha', $seg_senha); // Atribui valor do campo senha no valor senha da query $stmt->execute(); // Execute na query $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); // Cria array associativo if(count($arr) <= 0){ // Verifica se existe elemento no array echo "<script language='javascript' type='text/javascript'>alert('Login e/ou senha incorretos');window.location.href='../login.php';</script>"; exit; } // Pega o primeiro usuario $user = $arr[0]; // Inicia a sessão session_start(); $_SESSION['logged_in'] = true; $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['nome']; header('Location: ../index1.php'); Se eu comento da linha if(count($arr) <= 0){ para baixo, e coloco um var_dump($arr); abaixo de $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); me retorna um array vazio C:\wamp64\www\ProjetoALPHA\core\login.php:33: array (size=0) empty Alguém poderia me ajudar? Grato!
  6. Olá. Estou tendo problemas quando tento executar um UPDATE no meu sistema em php. Uso o MySQL. Tenho o código do arquivo editar: <?php require_once 'init.php'; // resgata os valores do formulario $nome = isset($_POST['nome']) ? $_POST['nome']: null; $nascimento = isset($_POST['nascimento']) ? $_POST['nascimento']: null; $email = isset($_POST['email']) ? $_POST['email']: null; $senha = isset($_POST['senha']) ? $_POST['senha']: null; $seg_senha = password_hash($senha, PASSWORD_DEFAULT); // Validação para evitar dados vazios if (empty($nome) || empty($nascimento) || empty($email) || empty($senha)) { echo 'Volte e preencha todos os campos.'; exit; } // Atualiza o banco $pdo = db_connect(); $sql = "UPDATE usuarios SET nome = :nome, nasc = :nasc, email = :email, senha = :senha WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':nome', $nome); $stmt->bindParam(':nasc', $nascimento); $stmt->bindParam(':email', $email); $stmt->bindParam(':senha', $seg_senha); $stmt->bindParam(':id', $id); if ($stmt->execute()){ header('Location: ../index1.php'); }else{ echo 'Erro ao atualizar usuario.'; print_r($stmt->errorInfo()); } Agora o arquivo com formulario para edição de usuario: <?php require_once 'core/init.php'; // Pega o id da URL $id = isset($_GET['id']) ? (int)$_GET['id']: null; // Valida o id if (empty($id)) { echo 'ID para alteração não definido'; exit; } // Busca os dados do usuario a ser editado $pdo = db_connect(); $sql = "SELECT nome, nasc, email, senha FROM usuarios WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_INT); $stmt->execute(); $user = $stmt->fetch(PDO::FETCH_ASSOC); // Se o método fetch() não retornar um array, significa que o ID não corresponde a um usuário válido if(!is_array($user)){ echo 'Nenhum usuario encontrado.'; exit; } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Edição de usuario</title> <script> src="http://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"> </script> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> <!-- Latest compiled and minified JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </head> <body> <!-- ==================== NAVBAR INICIO - BOOTSTRAP ==================== --> <nav class="navbar navbar-inverse"> <div id="inicio" class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#inicio"><b>Hoo</b></a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li><a href="index1.php"><u>Home</u></a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Perfil <span class="caret"></span></a> <ul class="dropdown-menu"> <li role="separator" class="divider"></li> <li><a href="">Sair</a></li> </ul> </li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> <!-- ==================== NAVBAR FIM - BOOTSTRAP ==================== --> <!-- ==================== TABLE INICIO - BOOTSTRAP ==================== --> <div class="panel panel-success " style="width: 60%; margin: 0 auto; padding: 20px"> <div class="panel-heading"> <center> <b>EDITAR USUARIO</b> </center> </div> <div class="panel-body"> <form method="POST" action="core/editar.php"> <div class="form-group"> <input type="hidden" value="" name="id" class="form-control" id="exampleInputId1"></a> </div> <div class="form-group"> <label for="nome">Nome</label> <input type="text" value="<?php echo $user['nome'] ?>" name="nome" class="form-control" id="nome" placeholder="Nome"></a> </div> <div class="form-group"> <span class="label label-default">Data de nascimento</span> <input type="date" value="<?php echo $user['nasc'] ?>" data-date="" data-date-format="DD MMMM YYYY" class="form-control" for="nasc" name="nascimento"> </div> <div class="form-group"> <label for="email">E-MAIL</label> <input type="email" value="<?php echo $user['email'] ?>" name="email" class="form-control" id="email" placeholder="E-MAIL"> </div> <div class="form-group"> <label for="senha">Senha</label> <input type="password" value="<?php echo $user['senha'] ?>" name="senha" class="form-control" id="senha" placeholder="Senha"> </div> <input type="hidden" name="id" value="<?php echo $id ?>"> <button type="submit" class="btn btn-default">Finalizar edição</button> </form> </div> </div> <!-- ==================== TABLE INICIO - BOOTSTRAP ==================== --> </body> </html> Quando altero os campos e clico no botão ele não retorna erro algum, somente retorna para a página index1.php, como mandei no header. Mas no banco o campo "alterado" continua do mesmo jeito, como se não tivesse feito alteração algumA. Alguém poderia me auxiliar? Grato!
  7. Olá amigos, Estou criando um sistema de CRUD para práticas, e meu código está dando erro no meu PREPARE. Não consegui resolver o erro sozinho, alguém poderia me auxiliar? Código index.php: <?php require_once 'core/init.php'; // Abre a conexao com o banco de dados $pdo = db_connect(); // SQL para contar o total de registros. $sql_count = "SELECT COUNT(*) AS nome FROM usuarios ORDER BY name ASC"; // SQL para selecionar os registros $sql = "SELECT id, nome, email, nasc FROM usuarios ORDER BY nome ASC"; // Conta o total de registros $stmt_count = $pdo->prepare($sql_count); $stmt_count->execute(); $total = $stmt_count->fetchColumn(); // Seleciona os registros $stmt = $pdo->prepare($sql); $stmt->execute(); ?> <html> <head> <title>Bem Vindo</title> <script src="http://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"> </script> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> <!-- Latest compiled and minified JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </head> <body> <!-- ==================== NAVBAR INICIO - BOOTSTRAP ==================== --> <nav class="navbar navbar-inverse"> <div id="inicio" class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#inicio"><b>Hoo</b></a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li><a href="cadastro.php"> <u>Cadastrar novo usuario</u></a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Perfil <span class="caret"></span></a> <ul class="dropdown-menu"> <li role="separator" class="divider"></li> <li><a href="">Sair</a></li> </ul> </li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> <!-- ==================== NAVBAR FIM - BOOTSTRAP ==================== --> <!-- ==================== TABLE INICIO - BOOTSTRAP ==================== --> <p>Total de usuarios: <?php echo $total; ?></p> <?php if($total > 0): ?> <table class="table table-hover"> <thead> <th>ID</th> <th>Nome</th> <th>E-MAIL</th> <th>Idade</th> <th>Ações</th> </thead> <tbody> <?php while ($user = $stmt->fetch(PDO::FETCH_ASSOC)): ?> <tr> <td><?php echo $user['nome'] ?></td> <td><?php echo $user['email'] ?></td> <td><?php echo calcIdade($user['nasc']) ?> anos</td> <td> <a href="editar.php?id=<?php echo $user['id'] ?>" class="btn btn-primary btn-sm">Editar</a> <a href="deletar.php?id=<?php $user['id'] ?>" onclick="return confirm('Tem certeza que deseja excluir este usuario?'); class="btn btn-danger btn-sm">Excluir</a> </td> </tr> <?php endwhile; ?> </tbody> </table> <?php endif; ?> <!-- ==================== TABLE FIM - BOOTSTRAP ==================== --> </body> </html> Arquivo do banco de dados init.php; <?php // Constantes com as credenciais para conexão com o banco de dados MySQL define('MYSQL_HOST', 'localhost'); define('MYSQL_USER', 'root'); define('MYSQL_PASS', ''); define('MYSQL_DB_NAME', 'alpha'); // Função que chama a classe PDO function db_connect(){ $pdo = new PDO('mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASS); } // Tentativa de conexão com o banco com tratativa de erro try { $pdo = new PDO('mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASS); } catch (PDOException $e) { echo 'Erro ao conectar com a base de dados: '.$e->getMessage(); } Quando executo o código ele apresenta o seguinte erro: Fatal error: Call to a member function prepare() on null in C:\wamp64\www\ProjetoALPHA\index1.php on line 18 Alguém poderia me ajuda? Desde já agradeço!
  8. Isso eu já tinha mudado ontem. Assim que fiz a postagem vi que estava com cedilha na letra C e mudei. Mas ele continuou apresentando o mesmo erro.
  9. Reinstalei o WAMP e funcionou com os mesmos arquivos e diretórios --_-- Provavelmente era alguma configuração cagada que estava nele. Grato aos dois!
  10. Não existe caracteres especiais nas pastas. Vou mais tarde instalar o XAMPP e testar. O problema deve estar no meu WAMP mesmo. O estranho é que os primeiros códigos de exemplo, Pessoa, Aluno, Professor e Funcionario apresentou erro. Mas os códigos de teste, Abc e Abcc funcionaram. Mesmo assim, obrigado pela atenção!
  11. Sim. Estão todos na mesma pasta, dentro dela não existe subpasta. E o nome de todos já verifiquei e estão corretos. Estou achando que pode ser algo com WAMP, pois criei dois arquivos de teste agora, sem usar EXTENDS. Arquivo Abc.php: <?php class Abc{ public function funcc(){ echo 'to aqui'; } } Arquivo indexAbc2.php: <!DOCTYPE html> <html> <head> <title></title> </head> <body> <?php require_once 'Abc.php'; $a = new Abc(); $a->funcc(); print_r($a); ?> </body> </html> E retornou na tela: to aquiAbc Object ( ) Ou então é configuração do meu WAMP ou então é o meu código mesmo. Criei mais uma classe agora, e usando EXTENDS, e funcionou: Arquivo Abcc.php: <?php require_once 'Abc.php'; class Abcc extends Abc{ public function funccc(){ echo 'segunda classe'; } } E o arquivo indexABC2.php ficou assim: <!DOCTYPE html> <html> <head> <title></title> </head> <body> <?php require_once 'Abc.php'; require_once 'Abcc.php'; $a = new Abc(); $b = new Abcc(); $b->funcc(); $b->funccc(); print_r($b); ?> </body> </html> E o resultado foi o esperado: to aquisegunda classeAbcc Object ( ) Acho que o problema esta no meu código mesmo, e não na configuração do WAMP :/
  12. Gabrielvt14

    Ajuda com herança

    Olá, pessoal. Estou com problemas na minha prática de herança com PHP. Estou desenvolvendo códigos em que existem as classes Pessoa(Mãe): http://pastebin.com/D5CiCJdF | Código da classe Pessoa Aluno(filha): http://pastebin.com/Eb5pfiVS | Código da classe Aluno Professor(filha): http://pastebin.com/J6gYKrs7 | Código da classe Professor Funcionario(filha): http://pastebin.com/4qvynwU6 | Código da classe Funcionario E também tenho o arquivo index: http://pastebin.com/8hw1jxGS Quando executo o arquivo index aparece o seguinte erro: Fatal error: Unknown: Failed opening required 'C:/wamp64/www/PHP OO/Criando classes e objetos com PHP OO/Exercicio POO/Herança/Pessoa.php' (include_path='.;C:\php\pear') in Unknown on line 0 Não sei o porque esta retornando este erro. E sim, todos estes arquivos estão dentro da pasta Herança. Alguém poderia me ajudar? desde já agradeço!
  13. Gabrielvt14

    Ajuda com PDO

    Olá pessoal, Estou com problemas para conectar o banco de dados utilizando PDO, uso o MySQL. quando executo a conexao com o banco aparecem as seguintes mensagens de erro: ( ! ) Fatal error: Uncaught exception 'PDOException' with message ' in C:\wamp64\www\phpCRUD\config\Conecta.php on line 11 ( ! ) PDOException: in C:\wamp64\www\phpCRUD\config\Conecta.php on line 11 Call Stack # Time Memory Function Location 1 0.0003 235888 {main}( ) ...\login.php:0 2 0.0006 240904 include_once( 'C:\wamp64\www\phpCRUD\core\Login.php' ) ...\login.php:3 3 0.0013 253496 Conecta->__construct( ) ...\Login.php:5 4 0.0013 253984 __construct ( ) ...\Conecta.php:11 Não sei onde estou errando, alguém poderia me ajudar? Segue o código da configuração do banco: http://pastebin.com/24qAiFTr E abaixo arquivo conf.php: http://pastebin.com/986P4hiD
  14. Achei o problema. Estava no HTML. <button class="btn waves-effect waves-light" type="submit" name="'atualizar'"> Acabei colocando aspas simples dentro de aspas duplas (" ' ' "). O correto fica: <button class="btn waves-effect waves-light" type="submit" name="atualizar">
  15. Olá Marcelo_2, realizei a mudança na query, mas continua do mesmo jeito quando tentou fazer update do ususario. A query esta o seguinte agora: $sqlUpdate = 'UPDATE usuarios SET nome = :nome, senha = :senha, email = :email where id = :id';