-
Total de itens
39 -
Registro em
-
Última visita
Gabrielvt14's Achievements
0
Reputação
-
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!
-
php Ajuda com sistema de login
pergunta respondeu ao Gabrielvt14 de Gabrielvt14 em Tutoriais & Dicas - PHP
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 -
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!
-
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?
-
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!
-
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!
-
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!
-
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.
-
Reinstalei o WAMP e funcionou com os mesmos arquivos e diretórios --_-- Provavelmente era alguma configuração cagada que estava nele. Grato aos dois!
-
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!
-
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 :/
-
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!
-
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
-
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">
-
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';