Ir para conteúdo

gabrielms

Members
  • Total de itens

    108
  • Registro em

  • Última visita

Posts postados por gabrielms


  1. @lmroot2 

     

    O problema está quando você faz o calculo para saber a data da validade, já que a data da variável "novaData" está com a data de atual, e o método getDate() só vai retorna os dias que já passaram no mês daquela data.

     

    Exemplo:

    // Data de hoje 27/09/2019
    
    var data_de_hoje = new Date(); // <- 27/09/2019
    var data_de_emissao = new Date("01-01-2001"); // <- 01/01/2001
    var data_da_validade = new Date(data_de_emissao); // <- 01/01/2001
    
    data_de_hoje.setDate(data_de_emissao.getDate() + 20); // Retorno da data vai ser 21/09/2019
    data_da_validade.setDat(data_da_validade.getDate() + 20); // Retorno da data vai ser 21/01/2001

     

     

     


  2. @lucas_lnf Você está tentando acessar uma variável da class usando global? Isso está muito errado!

     

    Quando você tem uma variável no corpo do objeto, você pode dentro da class usar o $this para acessar elá e não global.

    Class usuarios
    {
        private $pdo = "Tudo ok";
    
    	public function teste_1()
    	{
    		echo($this->pdo);
    	}
    
    	public function teste_2()
    	{
    		global $pdo;
    		echo($pdo);
    	}
    }
    
    $usuairo = new usuarios();
    
    $usuario->teste_1();
    $usuario->teste_2();
    
    /** Resultado 
    * teste_1() -> Tudo ok 
    * teste_2() ->
    **/

     


  3. @Luciano Marques O valor dentro do input provavelmente e um json, passando esse valor como string, pelo POST você pode converter  esse valor que é um json para um object ou um array php.

     

    Exemplo

    $dadosDoPost = '{"dados_cadastrais":[{"nome":"fulano", "CPF":"000.000.000-00"}]}';
    $result = json_decode($dadosDoPost, true); // Decodifica uma string JSON para um object php
    echo $result['dados_cadastrais'][0]['nome'];

     

    Obs..: O valor dentro do input tem alguns erros de sintaxe para ser um json. Valor correto: 

    {"dados_cadastrais":[{"nome":"fulano", "CPF":"000.000.000-00"}]}

     


  4. @arielson

     

    Adiciona no seu logout o método session_unset(). Só o método  session_destroy() não vai apagar os valores, o método destrói todos os dados associados com a sessão atual. Ela não apaga nenhuma das variáveis por isso falta o session_unset().

     

    Seu logout ficaria +- assim:

    <?php
    
    session_start();
    session_unset();
    session_destroy();

     

    Obs..: Notei que você utiliza de antigas praticas de desenvolvimento em php, recomendo a atualização desse código e praticas, porque essas praticas deixam sua aplicação vulnerável.

     

    Algumas das praticas citadas acima que deve ser corrigidas:

    - O uso do md5 para codificar senha.

    - O uso do mysqli_real_escape_string.

    - Colocar dados de ambiente como dados de conexão com o bando e dados no seu código.

    - Utiliza PSR no seu código

     

     


  5. @Pitag346 Coloca um Cookies com um contador de tempo que vai ficar se atualizando com mais freqüência.

     

    Caso essa funcionalidade seja essencial na sua aplicação, você pode colocar em seu layout uma transição por javascript, assim a pagina vai mudar e o script só vai rodar somente quando a pagina ficar aberta.

     

    Você também pode optar por Socket Web.


  6. @Alyss Serial isso o que você procura?

    <!DOCTYPE html>
    <html>
        <head>
            <title>Pagina de exemplo</title>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
            <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
            <style>
                .container{
                    max-width: 600px;
                    margin: 50px auto;
                    background: #272727;
                    padding: 20px;
                    color: #fff;
                    clear: both;
                    display: flex;
                    height: 129px!important;
                    overflow: hidden;
                }
    
                .colunas
                {
                    width: 33.33%;
                    height: 129;
                    overflow: hidden;
                }
    
                .linha-1 > span, .linha-2 > span {
                    display: block;
                    background: #000;
                    padding: 10px;
                    text-align: center;
                    margin: 5px;
                    font-weight: 600;
                }
            </style>
        </head>
        <body>
            <div class="container">
                <div class="linha-1 colunas">
                    <span>Coluna 1.1</span>
                    <span>Coluna 1.2</span>
                    <span>Coluna 1.3</span>
                </div>
                <div class="linha-2 colunas">
                    <span>Coluna 2.1</span>
                    <span>Coluna 2.2</span>
                    <span>Coluna 2.3</span>
                </div>
                <div class="linha-2 colunas">
                    <span>Coluna 3.1</span>
                    <span>Coluna 3.2</span>
                    <span>Coluna 3.3</span>
                </div>
            </div>
        <script>
            $(function(){
    
                var colunas = $(".colunas");
                
                colunas.sortable({
                    connectWith: ".colunas"
                }).disableSelection();
    
    
                $("span").droppable({
                    drop: function(event, ui)
                    {
                        let elmento = $(ui.draggable[0]).parent();
                        $(this).appendTo(elmento[0]);
                    }
                });
    
            });
        </script>
        </body>
    </html>

     


  7. @Charlie04 O problema é bem simples. Quando você utiliza um input ou um button com o type submit o formulário faz uma Request para o link contido no atributo action antes dele chamar a função, ele carrega outra página e assim ele perde a chamada da função.

     

    Com o type button ele não faz essa Request do formulário, assim ele não envia o formulário e executa a função.

     

    Para esse caso você poderia trabalhar no evento submit do formulário e não no evento click do input.

     

    Coloque o type do input para submit e remova o evento onclick dele.

     <input id="botao" type="submit" value="Redefinir" class="ls-btn-primary ls-btn-block ls-btn-lg">

     

    Depois você adiciona uma chamada de função no evento submit no formulário.

     

     <form onsubmit="validacaoEmail(senha.email, senha.cpf)" role="form" name="senha" class="ls-login-form" action="/">

    e na sua função de validação adicione um retorno.

     

    return true;

    Retorne true(Verdadeiro) caso os dados passem com sucesso pela validação ou retorne false(falso) caso não.

    return false;

     

    Obs..:

     

    Lembrando que nenhuma validação no Front-End garante uma integridade de dados e nunca deve ser usada como garantia.

     

    Com o HTML 5 você pode usar o input type="email" para especificar o tipo de valor que você quer recebe nesse input e junto dele o atributo required, assim bloqueando o formulário de fazer a Request até que o usuário cumpra com as requisições do input type.

     


  8. @danicarla Serial algo assim que você procura?

    var 
      tempoDeTransicao = 180000, // 180000 = 3 minutos
      comprimentoDoDocumento,
      comprimentoDoBrowse;
    
    $(function(){
      comprimentoDoDocumento = $(document).height();
      comprimentoDoBrowse = $(window).height();
      
      if(comprimentoDoDocumento > comprimentoDoBrowse)
      {
        $('html').animate({scrollTop: comprimentoDoDocumento}, tempoDeTransicao);
      }
    });

     


  9. @groudon900 Bom faz algumas verificações no seu código.

     

    Adiciona um var_dump() na variável global $_POST para verificar se os dados estão sendo enviados corretamente. Adiciona também um na variável $sql para verificar a solicitação que está indo para o  bando de dados.

     

    <?php
    
    var_dump($_POST);
    
    $mensagem = "O dados de login não foram inseridos";
    
    if (isset( $_POST["login"]))
    {
    	$login = $_POST["login"];
    	$senha = $_POST["senha"];
    	$sql = "SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha'";
    
    	var_dump($sql);
    
    	$acesso = mysqli_query($conecta,$sql);
    
    	if (!$acesso)
    	{
    		die(mysqli_error($conecta));
        }
    	
    	$infomacao = mysqli_fetch_assoc($acesso);
    	if (empty($informacao))
    	{
    		$mensagem = "Login sem sucesso";
    	}
    	else
    	{
    		$mensagem = "O login foi efetuado com sucesso";
    	}
    }
    
    echo($mensagem);

     

    Obs..: Eu não sei se você mostra a variável $mensagem em outra parte do código mas, está faltando um echo ali para  mostra a massagem de login sem sucesso.


  10. @groudon900 

     

    Bom eu não achei nenhum erro no seu código porem, você fala que na sua tabela existe os seguintes campos:

    21 horas atrás, groudon900 disse:

    contem, usuarios, senha, email e ID

    e na sua consulta você coloca "usuario" no singular e você escreveu que na sua tabela está no no plural.

     $login .= "WHERE usuarios = '{$usuario}' and senha = '{$senha}' ";

     

    Para verificar se exite algum erro na sua consulta ao SQL você pode usar o método mysqli_error();

     

    Faz uma alteração no seu código de:

    if ( !$acesso) {
    	die("Falha na consulta ao banco!");
    }

    Para:

    if (!$acesso)
    {
        die(mysqli_error($conecta));
    }

     


  11. @kelvinferraz Bom você não pode acessar o usuário autenticado no construtor do seu controlador porque o middleware ainda não foi executado.

     

    Como alternativa, você pode definir um middleware baseado em Closure diretamente no construtor do seu controlador.

     

    public function __construct()
        {
            $this->middleware('auth');
            $this->middleware(function ($request, $next) {
    
                $user = Auth::user();
    
                if ($user->id != 1 /* <-- Seu id aqui */ ) 
                {
                    return abort(403);
                }
    
                return $next($request);
            });
        }

     


  12. @opl12 Bom você está tentando usar o método mysql_query passando somente o query sem passar os dados de conexão com o bando de dados.

    dados de conexão = mysqli_connect($servername, $username, $password, $dbname);
    mysqli_query(dados de conexão, query);

    Obs..: O método mysql_query está obsoleto, o método substituto é o mysqli_query.

     

    Algo que eu achei estranho é você ter criado um PDO em cima e depois usar um método MySQLi Procedural em baixo.

    Aqui tem um tutorial falando sobre os 2 métodos.

     

    Um exemplo usando PDO:

    <?php
    //conexão
    header('Content-Type: text/html; charset=UTF-8');
    
    try 
    {
    	$conn = new PDO('mysql:host=localhost;dbname=painel', 'root', '');
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    	$handle = fopen('receita_cockpit.csv', "r");
    	$conn->beginTransaction();
    	
    	while (($dados = fgetcsv($handle, 1000, ";")) !== false)
    	{
    		$conn->exec("INSERT INTO receita(CICLO, DATA, AREA, NOME_COORDENACAO, NOME_SETOR, NOME_SUB_SETOR, UF, META, REAL, TENDENCIA, GAP_DISTR,Area_2,uf_2, Gerência, Eudora, Ciclo_Area, Ciclo_Coord) VALUES ('$dados[0]', '$dados[1]', '$dados[2]', '$dados[3]', '$dados[4]', '$dados[5]', '$dados[6]', '$dados[7]', '$dados[8]', '$dados[9]', '$dados[10]', '$dados[11]', '$dados[12]', '$dados[13]', '$dados[14]', '$dados[15]', '$dados[16]');");
    	}
    	
    	$conn->commit();
    	fclose($handle);
    	echo "Import done";
    } 
    catch (PDOException $e)
    {
    	echo 'ERROR: ' . $e->getMessage();
    }
    ?>

     

     


  13. @teuzero Bom ele está funcionando!

     

    Bom para esse caso eu recomendo o uso de media no CSS, o que você já utiliza no seu CSS e só configurar ele para o menu.

     

    Vou deixar alguns tutorial que podem te ajudar nessa construção do menu:

    https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_topnav

    https://www.w3schools.com/howto/howto_js_topnav.asp

    https://www.w3schools.com/howto/howto_css_topnav_centered.asp

     

    Uma coisa que eu notei no seu arquivo carrega.js, você repete a mesma função sem a necessidade.

    $(document).ready(function(){ // <-- Aqui
    	$(".busca").hide();
    	$(".lupa").prepend("<img src='../img/lupa.png' class='lupa' /> ");	
    	$(".lupa img").click(function(){
    		if($(this).attr("src") == "img/x.png"){
    			$(this).attr("src", "img/lupa.png")
    			.siblings().hide();
    
    	} else {
    			$(this).attr("src", "img/x.png")
    			.siblings().show();
    
    	}
    	if($('#menu').is(':visible')){
    		$('#menu').hide();
    	} else
    	{
    		$('#menu').show();
    	}
    
    	});
    
    	jQuery(document).ready(function() { // <-- Aqui
    		if($(window).width()<=820)
    		{
    			$('#menu').hide();
    		}
        });     

    Como ele faz a mesma coisa não tem o pq de deixa ele dentro do mesmo.

    $(document).ready(function(){
    	$(".busca").hide();
    	$(".lupa").prepend("<img src='../img/lupa.png' class='lupa' /> ");	
      
    	$(".lupa img").click(function(){
    		if ($(this).attr("src") == "img/x.png")
            {
    			$(this).attr("src", "img/lupa.png")
    			.siblings().hide();
            }
          	else
          	{
            	$(this).attr("src", "img/x.png")
                .siblings().show();
    
            }
          
            if ($('#menu').is(':visible'))
            {
            	$('#menu').hide();
            }
          	else
            {
            	$('#menu').show();
            }
    	});
      
    	if($(window).width() <= 820)
    	{	
    		$('#menu').hide();
    	}
    });

     


  14. @Filhote de Dev 

     

    Bom amigo isso que eu vou falar e chato porem, é necessário. Seu código está muito bagunçado, ele está meio confuso.

     

    Tem um problema no elemento form. Quando você não definir um tipo para o botão que está dentro de um elemento form, ele por padrão vai ser do tipo submit e quando o usuário clicar nele, ele vai disparar o evento submit do form, assim o form vai fazer uma request para a mesma página recarregando a página e perdendo a chama do método request().

     

    Para resolver isso basta definir um tipo para o botão e bloquear o evento de submit do form.

    <form onsubmit="return false">
    <button type="button" id="btntoken" onclick="request()">Fetch Encryption Challenge</button>

     

    O form vai ficar assim:

    <form onsubmit="return false">
    	<div>
    		<fieldset class="shadow">
    			<legend><h1>Decoding</h1></legend>
    			<button type="button" id="btntoken" onclick="request()">Fetch Encryption Challenge</button>
    		</fieldset>
    	</div>
    	<br>
    	<div id="decoding" class="aling"></div>
    	</form>

     

    Bom tem algumas coisa estranhar que eu nunca vi ser utilizada, como o evento de onload no object XmlHttpRequest; e o responseType  com o nome de 'jason'. Também não consegui entender qual a utilidade do método  alertContents().

     

    Vou deixar aqui um tutorial de Introdução ao AJAX

     

    Vou deixa também um código de exemplo:

    function request()
                {
                    let 
                        xmlhttp,
                        url = "server.php"; // remover
    
                    if (window.XMLHttpRequest)
                    {
                        // code for modern browsers
                        xmlhttp = new XMLHttpRequest();
                    }
                    else
                    {
                        // code for old IE browsers
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                    }
    
                    if (!xmlhttp)
                    {
                        alert('Giving up :( Cannot create an XMLHTTP instance')
                        return false
                    }
    
                    xmlhttp.onreadystatechange = function()
                    {
                        if (this.readyState == 4 && this.status == 200)
                        {
                            let jsonRequest;
    
                            try {
                                jsonRequest = JSON.parse(this.responseText); // Convertendo o texto em um JSON
                                view(jsonRequest);
                                return;
                            }
                            catch(e)
                            {
                                alert("A resposta do servidor não pode ser convertida em um JSON");
                            }
                        }
                    }
    
                    xmlhttp.open("GET", url, true);
                    xmlhttp.send();
    
                }
    
                function view(jsonRequest)
                {
                    if (typeof jsonRequest != "object")
                    {
                        return false;
                    }
    
                    let 
                        box = document.querySelector('div#decoding'),
                        challenge = document.createElement('fieldset'),
                        legendChallenge = document.createElement('legend'),
                        answer = document.createElement('fieldset'),
                        legendAnswer = document.createElement('legend');
    
                    box.setAttribute('class', 'shadow');
                    challenge.setAttribute('class', 'painting');
                    answer.setAttribute('class', 'painting');
    
                    legendChallenge.innerHTML = 'Challenge';
                    challenge.innerHTML = `
                        Número de casas: ${jsonRequest.numero_casas}<br>
                        Token: ${jsonRequest.token}<br>
                        Cifrado: ${jsonRequest.cifrado}<br>
                        Decifrado: ${jsonRequest.decifrado}<br>
                        Resumo Criptografico: ${jsonRequest.resumo_criptografico}
                    `;
                    legendAnswer.innerHTML = 'Answer';
                    answer.innerHTML = `
                        Número de casas: ${jsonRequest.numero_casas}<br>
                        Token: ${jsonRequest.token}<br>
                        Cifrado: ${jsonRequest.cifrado}<br>
                        Decifrado: ${jsonRequest.decifrado}<br>
                        Resumo Criptografico: ${jsonRequest.resumo_criptografico}
                    `;
    
                    box.appendChild(challenge);
                    box.appendChild(answer);
                    challenge.appendChild(legendChallenge);
                    answer.appendChild(legendAnswer);
                }

     

×

Informação importante

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