-
Posts
335 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que GabrielSennaMs postou
-
PHP servidor caseiro com linux ubuntu e máquina de desenvolvimento windows
GabrielSennaMs respondeu ao tópico de Jhones Sombra em Web e banco de dados
@Jhones Sombra Bom você pode usar o git para salvar os seus códigos e puxar ele para o seu servidor, a outra opção e se conectar via ssh para trabalhar direto na sua maquina de servido. A IDE que uso hoje em dia é o VScode eu uso essa lib para se conectar ao meu servidor para trabalhar nele, quando necessario. É possível também trabalhar assim. -
CSS menu bugado onde fica atras de textos
GabrielSennaMs respondeu ao tópico de vitizin em Web e banco de dados
@vitxr Manda o HTML do seu menu -
CSS menu bugado onde fica atras de textos
GabrielSennaMs respondeu ao tópico de vitizin em Web e banco de dados
@vitxr Bom você pode usar a propriedade "z-index" do css para fazer esse ajuste de posição do seu menu. Aqui um tutorial de como usar: https://www.w3schools.com/css/css_z-index.asp -
PHP como adicionar data no PHP que fique cravado a data de hoje não mude amanhã?
GabrielSennaMs respondeu ao tópico de vitizin em Web e banco de dados
@vitxr Bom você tem que salvar esse valor em algum lugar, em um arquivo ou em um banco de dados. -
PHP Implementação reCaptcha verificar PHP
GabrielSennaMs respondeu ao tópico de arturbc em Web e banco de dados
@arturbc Bom agora você tem que entra na sua conta do google em Google Cloud Console e cadastrar o seu aplicativo, no caso o seu site, e pedir o recurso do reCaptca para a sua aplicação, lá você deve obter o token de uso do reCaptca. Lembrando que você tem que adicionar o host do seu site para a lista de permissão de uso do token tem aplicação. -
PHP Implementação reCaptcha verificar PHP
GabrielSennaMs respondeu ao tópico de arturbc em Web e banco de dados
@arturbc Amigo, antes de tudo se essa é a sua chave "secret" tira ela do seu post. Tem que verifica se o seu domínio está na lista de permissão da sua chave. Outra coisa que vi é que o token secret não é o mesmo que vai no input o sitekey, e no seu exemplo está o mesmo. Fiz uma forma mais pratica de fazer isso. <?php $msg = ""; if ($_SERVER['REQUEST_METHOD'] === "POST") { $name = filter_input(INPUT_POST, "name", FILTER_DEFAULT); $email = filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL); $recaptch = filter_input(INPUT_POST, "g-recaptcha-response", FILTER_DEFAULT); if (!empty($recaptch)) { $params = http_build_query([ "secret" => "6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe", "response" => $recaptch ]); $request = json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?" . $params)); if (isset($request->success) and $request->success) { $msg = "Recaptch passo!"; } else { $msg = "Deu erro!"; } } else { $msg = "Recaptcha em branco!"; } } ?> <!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>Login</title> </head> <body> <p><?= $msg ?></p> <form method="POST"> <div>Name: <input type="text" name="name" value="" /><br><br></div> <div>Email: <input type="text" name="email" value="" /><br><br></div> <div class="g-recaptcha" require data-sitekey="6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI"></div><br> <input type="submit" name="submit"> </form> <script src="https://www.google.com/recaptcha/api.js" async defer></script> </body> </html> -
PHP como exibir a mensagem de alerta apenas uma vez, quando o usuário logar
GabrielSennaMs respondeu ao tópico de mr.obvio em Web e banco de dados
@mr.obvio Bom esse tutorial aqui pode te ajudar: https://www.phptutorial.net/php-tutorial/php-flash-messages/ -
WordPress Instalei o wordpress em um dominio já existente e apagou tudo do site pronto
GabrielSennaMs respondeu ao tópico de paulossasa em Web e banco de dados
@paulossasa Se você não removeu ou delete o banco de dados do wordpress é possível recuperar. -
PHP Como editar comentários com PHP e MySQL?
GabrielSennaMs respondeu ao tópico de Eduardo de Quadros em Web e banco de dados
@Eduardo de Quadros Bom amigo você tem que ser mais expecifico na sua duvida, mas eu acho que você precisa ou quer é atualizar uma linha em uma tabela no banco de dados. Aqui tem um tutorial falando sobre: https://www.w3schools.com/php/php_mysql_update.asp -
Javascript Preview de imagem por múltiplos inputs
GabrielSennaMs respondeu ao tópico de gomes_gabriel em Web e banco de dados
@gomes_gabriel Fiz algumas modificações no seu script e na sua estrutura. Javascript: window.onload = function () { const inputs = document.querySelectorAll('input[data-action]'); for (let input of inputs) { if (input.getAttribute('data-action') === 'preview') { if (input.hasAttribute('data-preview')) { const preview = document.getElementById(input.getAttribute('data-preview')); if (preview) { const event = new Event('change'); input.addEventListener('change', loadingPreviewImage); input.dispatchEvent(event); continue; } console.error( 'O atributo elemento com o id ' + input.getAttribute('data-preview') + ' para o preview não foi definido' ); continue; } console.error('O atributo "data-preview" não foi definido'); } } } function loadingPreviewImage(event) { const input = event.target, preview = document.getElementById(input.getAttribute('data-preview')); preview.innerHTML = null; if (input.files.length > 0) { for (let file of input.files) { const reader = new FileReader(), figure = document.createElement("figure"), figCap = document.createElement("figcaption"); figCap.innerText = file.name; figure.appendChild(figCap); reader.onload = () => { const img = document.createElement("img"); if (figCap.innerText.split('.').pop() == 'pdf') { img.setAttribute("src", "pdf.png"); } else { img.setAttribute("src", reader.result); } figure.insertBefore(img, figCap); } preview.appendChild(figure); reader.readAsDataURL(file); } return; } const p = document.createElement('p'); p.textContent = 'Nenhum arquivo foi escolhido.'; preview.append(p); } HTML: <div class="container"> <input type="file" id="file_input_1" name="file_input_1" data-preview="preview_1" data-action="preview" accept=".png, .jpeg, .jpg, .pdf" /> <label for="file_input_1"> <i class="fa fa-file"></i> <span>Escolha seus arquivos</span> </label> <div id="preview_1" class="preview"></div> </div> <div class="container"> <input type="file" id="file_input_2" data-preview="preview_2" data-action="preview" name="file_input_2" accept=".png, .jpeg, .jpg, .pdf" multiple /> <label for="file_input_2"> <i class="fa fa-file"></i> <span>Escolha seus arquivos</span> </label> <div id="preview_2" class="preview"></div> </div> Também fiz algumas modificações no CSS: * { padding: 0; margin: 0; box-sizing: border-box; font-family: "Rubik", sans-serif; } body { background-color: #f5f8ff; } .container { background-color: #ffffff; width: 100%; max-width: 1000px; margin: 4em auto; padding: 2em; border-radius: 7px; box-shadow: 0 20px 35px rgba(0, 0, 0, 0.05); } input[type="file"] { display: none; } label { display: block; position: relative; background-color: #025bee; color: #ffffff; font-size: 18px; text-align: center; max-width: 300px; width: 100%; padding: 18px 0; margin: auto; border-radius: 5px; cursor: pointer; } .preview > p, .preview > figure { margin-top: 1em; } .preview { text-align: center; display: flex; flex-wrap: wrap; justify-content: center; } .preview > figure { width: 260px; height: 260px; margin: 1em 0.5em; overflow: hidden; background: #272727; color: #fff; border-radius: 7px; box-shadow: 0 20px 35px rgba(0, 0, 0, 0.05); } .preview > figure > img { width: 100%; height: 225px; object-fit: cover; } .preview > figure > figcaption { text-align: center; font-size: 2.4vmin; margin-top: 0.5vmin; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; font-size: 12px; padding: 0 1em 1em 1em; } O resultado: OBS..: O atributo id tem o valor único em toda a página então não use ele se não for para um elemento especifico. -
CSS Conflito de form input, como classificar para resolver?
GabrielSennaMs respondeu ao tópico de Impts em Web e banco de dados
@Impts Esse tutorial vai te ajudar a resolver e entender esse problema https://www.w3schools.com/css/css_selectors.asp -
@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
-
PHP Erro no sistema de login PHP
GabrielSennaMs respondeu ao tópico de Impts em Web e banco de dados
@Impts Você pode verificar a lista de errors e procurar o indece certo. <?php if (isset($errors['email'])): ?> <?= $errors['email'] ?> <?php endif; ?> -
PHP Filtro procura sempre pelo último valor
GabrielSennaMs respondeu ao tópico de David Martinho em Web e banco de dados
@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" } } -
PHP Erro no sistema de login PHP
GabrielSennaMs respondeu ao tópico de Impts em Web e banco de dados
@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> -
Javascript Salvar os dados das fotos junto com outros itens no Banco De Dados
GabrielSennaMs respondeu ao tópico de Air-Gear em Web e banco de dados
@Air-Gear Não sei se o grafico é a sua prioridade no momento, mas esse component pode te ajutar nisso. https://pqina.nl/filepond/ -
Javascript Salvar os dados das fotos junto com outros itens no Banco De Dados
GabrielSennaMs respondeu ao tópico de Air-Gear em Web e banco de dados
@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. -
Javascript Salvar os dados das fotos junto com outros itens no Banco De Dados
GabrielSennaMs respondeu ao tópico de Air-Gear em Web e banco de dados
@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. -
HTML menu dropdown não funciona
GabrielSennaMs respondeu ao tópico de Alice Braga em Web e banco de dados
@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/ -
Javascript Salvar os dados das fotos junto com outros itens no Banco De Dados
GabrielSennaMs respondeu ao tópico de Air-Gear em Web e banco de dados
@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? -
HTML menu dropdown não funciona
GabrielSennaMs respondeu ao tópico de Alice Braga em Web e banco de dados
@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/[email protected]/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> -
PHP Conexão com o banco de dados php
GabrielSennaMs respondeu ao tópico de Impts em Web e banco de dados
@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 -
@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
-
CSS Qual a melhor forma de fazer campos separados para por informação?
GabrielSennaMs respondeu ao tópico de Impts em Web e banco de dados
@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 -
PHP Erro ao imprimir relatório de acesso
GabrielSennaMs respondeu ao tópico de zZDuzaaxC em Web e banco de dados
@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