×
Ir ao conteúdo
  • Cadastre-se

GabrielSennaMs

Membro Pleno
  • Posts

    299
  • Cadastrado em

  • Última visita

  • Qualificações

    0%

Reputação

117

2 Seguidores

Sobre GabrielSennaMs

  • Data de Nascimento 27/02/1998 (23 anos)

Informações gerais

  • Cidade e Estado
    Rio de Janeiro/RJ
  • Sexo
    Masculino

Meu PC

  • Processador
    Intel Core I5 6600k
  • Cooler
    Padrão Intel
  • Placa de vídeo
    Power color RX570
  • Placa-mãe
    ASUS Z170-AR
  • Memória
    Adata XPG 2 x 16GB 3200MHz
  • HDs
    Seagate 2 x 300GB
  • SSDs
    M.2 Kingdin 512GB, M.2 Kingdin 256GB
  • Gabinete
    T-DRAGO Cube White
  • Fonte
    Corsair VS550
  • Mouse
    Fortrek Raptor
  • Teclado
    Redragon Surara Pro
  • Headset
    G-T3
  • Monitor
    Samsung 21P
  • Sistema Operacional
    Windows, Pop!_OS e MacOS Catalina
  • Browser
    Opera GX

Meu Smartphone

  • Marca e modelo
    Motorola G5
  1. @Impts Esse tutorial vai te ajudar a resolver e entender esse problema https://www.w3schools.com/css/css_selectors.asp
  2. @Haseo\ Eu fiz um exemplo usando o efeito fade: https://jsfiddle.net/Senna_MT/0txa7u9o/5/ Para o exemplo funcionar no site de exemplo sem url do arquivo de imagem eu convertir a imagem em base64 <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>BTN</title> <style> html, body, main, section { width: 100%; height: 100%; margin: 0px; padding: 0px; display: flex; justify-content: center; align-items: center; background: #777; } .flip { -webkit-filter-transform: rotateY(180deg); transform: rotateY(180deg); } .btn { display: inline-block; width: 64px; height: 64px; background: url("on.png"); background-size: cover; transition: 0.4s; } .btn-on { transition: 0.2s; -webkit-filter: grayscale(0%); filter: grayscale(0%); } .btn-on:hover { transition: 0.2s; -webkit-filter: grayscale(100%); filter: grayscale(100%); } .btn-off { transition: 0.2s; -webkit-filter: grayscale(100%); filter: grayscale(100%); } .btn-off:hover { transition: 0.2s; -webkit-filter: grayscale(0%); filter: grayscale(0%); } </style> </head> <body> <main> <section> <div class="btn btn-on"></div> <div class="btn btn-on flip"></div> <div class="btn btn-off"></div> <div class="btn btn-off flip"></div> </section> </main> </body> </html> Resultado: @Haseo\ Esqueci do slide, aqui tem um tutoria de como fazer: https://www.w3schools.com/howto/howto_js_slideshow.asp
  3. @Impts Você pode verificar a lista de errors e procurar o indece certo. <?php if (isset($errors['email'])): ?> <?= $errors['email'] ?> <?php endif; ?>
  4. @David Martinho Se você definir o nome do input igual com colchetes([]) no final o php vai interpretar os valores em uma lista. Exemplo: <form method="GET"> <input type="checkbox" value="AS24" name="checkar[]"> <input type="checkbox" value="AS25" name="checkar[]"> <input type="checkbox" value="AS26" name="checkar[]"> <input type="submit" value="submit"> </form> // Resultado de um var_dump em $_GET array(1) { ["checkar"]=> array(3) { [0]=> string(4) "AS24" [1]=> string(4) "AS25" [2]=> string(4) "AS26" } }
  5. @Impts O erro apontado pelo interpretador está no seu echo, falto às aspas duplas(") no final. Tem outro erro no tipo(type) do seu botão de submit no formulario, no caso tem duas propriedade type e o correto é 'type="submit"' Fiz outras modificações que você pode testar para melhorar o seu código <?php require_once __DIR__ . DIRECTORY_SEPARATOR . "conection.php"; $errors = []; $data = [ "email" => "", "password" => "" ]; function filter_input_string($input) { $value = filter_input(INPUT_POST, $input, FILTER_SANITIZE_STRING); if (is_null($value)) { return $value; } elseif (!is_string($value)) { return null; } $value = trim($value); $value = stripslashes($value); $value = htmlspecialchars($value); return $value; } function validation_value_is_null(&$errors, &$data, $index, $field) { if (is_null($data[$index]) or empty($data[$index])) { $errors[$index] = "<p>O campo '{$field}' é obrigatorio</p>"; } } function validation_data_authentication_user(&$errors, &$data) { $data["email"] = filter_input_string("email"); $data["password"] = filter_input_string("password"); validation_value_is_null($errors, $data, "email", "E-mail"); validation_value_is_null($errors, $data, "password", "Senha"); if (count($errors) === 0) { if (!filter_var($data['email'], FILTER_VALIDATE_EMAIL)) { $errors["email"] = "<p>O valor informado no campo email não corresponde a um email valido</p>"; } if (count($errors) === 0) { return true; } } return false; } if ($_SERVER["REQUEST_METHOD"] == "POST") { if (session_status() == 1) { session_start(); } if (validation_data_authentication_user($errors, $data)) { $stmt = $mysqli->prepare("SELECT `id`, `password` FROM `users` WHERE `email` = ? LIMIT 1;"); $stmt->bind_param("s", $data['email']); if ($stmt->execute()) { $result = $stmt->get_result(); if ($result->num_rows === 1) { $user = $result->fetch_object(); if (password_verify($data['password'], $user->password)) { $_SESSION["id"] = $user->id; header("Location: /success.php"); die(); } } } $errors["all"] = "<p>Usuário ou/e senha invalido/s</p>"; } http_response_code(401); } ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> html, body, main, section { width: 100%; padding: 0px; margin: 0px; height: 100%; background: #eee; font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; } a { color: #000; text-decoration: none; border-bottom: solid 1px transparent; transition: 0.4s; } a:hover { text-decoration: none; transition: 0.4s; border-bottom: solid 1px; } section { display: flex; justify-content: center; align-content: center; align-items: center; } form { width: 100%; max-width: 300px; padding: 2em; border-radius: 0.5em; transition: 0.2s; box-shadow: 3px 3px 10px #777; background: #fff; } fieldset { padding: 0px; margin: 0px; border: none; } input[type="text"], input[type="password"] { width: calc(100% - 20px); } input { width: 100%; display: block; margin: 2em 0; padding: 10px; } #msg-errors > p { color: red; font-size: 12px; } </style> </head> <body> <main> <section> <form action="<?= htmlspecialchars($_SERVER["PHP_SELF"]) ?>" method="POST"> <h2>LOGIN</h2> <div id="msg-errors"> <?php if (count($errors) > 0): ?> <?= implode("", array_values($errors)); ?> <?php endif; ?> </div> <fieldset> <input value="<?= $data['email'] ?>" autocomplete="username" name="email" type="text" placeholder="E-mail" > <input autocomplete="current-password" name="password" type="password" placeholder="Senha" > <a href="#">Esqueceu a sua senha?</a> <input type="submit" value="Entrar"> </fieldset> </form> </section> </main> </body> </html>
  6. @Air-Gear Não sei se o grafico é a sua prioridade no momento, mas esse component pode te ajutar nisso. https://pqina.nl/filepond/
  7. @Air-Gear Até onde eu sei o Angular tem uma lib para isso a: https://www.w3schools.com/angular/angular_http.asp, você também pode usar o axios: https://github.com/axios/axios.
  8. @Air-Gear Acho que você deve renderizar isso usando o Angular para evitar erro e fazer uma request para fazer um upload antes de enviar os dados para o backend vai necessitar de uma rotina para re mover os arquivos que não foram usados.
  9. @Alice Braga Se esse for o caso então seu HTML está errado porque na versão Boostrap <= 4 a propriedade para utilizar o 'dropdown' é "data-toggle="dropdown" De uma olhada na documentação do navbar aqui no site oficial https://getbootstrap.com/docs/4.6/components/navbar/
  10. @Air-Gear Cara eu realmente não entendi nada desse seu código, porque você tenta acessar uma lista no Angular passando como paramento um index do php? essa lista vai está carregada no seu frontend? esse código html que o php escreve na tela vai ser carregado pelo frontend?
  11. @Alice Braga Pela classes utilizadas no seu HTML você está usando Boostrap >= 5, fica a duvida se você adicionou a parte de Javascript do Boostrap no seu elemento head. Para o Boostrap 5 <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script> Com isso o seu dropdown deve funcionar! Obs..: Tem alguns erros no seu HTML, no link de suporte falto você adicionar o elemento com os elementos para o dropdown-menu e fechar o elemento </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false" > Support </a> <div class="dropdown-menu"> <a class="dropdown-item" href="#">Introduction to SmartMenus jQuery </a> </div> </li>
  12. @Impts Nessa sua adaptação falto coisa <?php define('DB_SERVER', 'localhost'); define('DB_USERNAME', 'root'); define('DB_PASSWORD', ''); define('DB_NAME', ''); // Falto o nome do banco try { $link = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USERNAME, DB_PASSWORD); } catch(PDOException $e) { die("ERRO: Não foi possível estabelecer uma conexão com o banco de dados: " . $e->getMessage()); } Aqui tem um tutorial que pode te ajudar nisso https://www.w3schools.com/php/php_mysql_connect.asp
  13. @JvAG Bom infelizmente no CSS você só tem essas opções de alinhamento de texto, porém você pode tentar compensar usando alguns outras opções. Esses tutorias podem te ajudar: https://www.w3schools.com/css/css_text_align.asp https://www.w3schools.com/css/css_text_spacing.asp
  14. @Impts Esses tutoriais podem te ajudar nisso: https://www.w3schools.com/howto/howto_js_sidenav.asp, https://www.w3schools.com/css/css_float.asp, https://www.w3schools.com/css/css3_flexbox.asp, https://www.w3schools.com/css/css_rwd_intro.asp
  15. @zZDuzaaxC Quando você tenta salvar os dados na variável $user o php tenta converter o objecto DateTime para uma string e da erro. Uma maneira de fazer isso e usar um método para converter o object DateTime do php para string e também definir o formato da data. $data = date_format($agora, "d/m/Y"); $user = <<<EOF <h2> Última data de login = {$data}<br> CPF do usuário = {$cpf}<br> E-mail do usuário = {$email}<br> </h2> EOF; echo $user; Obs..: Seu HTML está errado

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!