Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''Php''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 5896 registros

  1. Diego Alexandre Dias

    FORMATO DE NÚMERO NO WHILE

    Boa tarde, Estou tentando incluir uma formatação de moeda (number_format) dentro de um comando While, porém não estou tendo sucesso. Por Exemplo: Criei uma tabela simples que contempla a relação de clientes com seus respectivos valores de creditos adiquiridos Neste caso no corpo da tabela eu possuo três colunas: Valor_Credito , Cliente, status criei uma variável $venda que recebe o resultado de uma query do meu banco de dados. Este mesmo resultado da query eu atribui uma variavel chamada $total . Esta mesma consulta se encarrega de somar o valor total de crédito adiquirido por cliente Sendo assim, meu WHILE percorre por todo minha tabela de clientes somando os respectivos creditos. Como resultado eu consigo retornar todas as informações que eu quero, porém não estou conseguindo fazer com que o valor de crédito saia com a formatação de moeda. O comando responsável por me trazer a relação de clientes juntamente com os créditos somados. while ($venda = mysqli_fetch_assoc($total)) { echo '<tr>'; echo '<td class="text-left">'; echo $venda ['valor_credito']; // Esta é a linha que preciso utilizar o number_format, porém tentei adaptá-lo de diferentes formas, mas não consegui. echo '<td>'; echo $venda['Cliente']; echo '</td>'; echo '<td class="text-right">'; echo $venda['status']; echo '</td>'; echo '</tr>'; echo '</tbody>'; Agradeço desde já quem puder me ajudar.
  2. cesaroet

    Verificação de login(redirecionamento)

    Galera, estou com o seguinte problema: tenho 4 redirecionamento, até a 2 funciona normal, mas a partir da 3 redireciona para o menu.php novamente. alguem tem uma dica? <?php session_start(); if(!isset($_SESSION['usuario']) /*|| ($_SESSION['nivel']) */){ session_destroy(); header("location:menu.php"); exit; } if($_SESSION['nivel'] == '1'){ header("location:checklist_gabriel/index.php"); } if($_SESSION['nivel'] == '2'){ header("location:checklist/index.php"); } if($_SESSION['nivel'] == '3'){ header("location:conferencia/controle/"); } if($_SESSION['nivel'] == '4'){ header("location:controle/index.php"); } ?>
  3. LuanMartinsTI

    Existe perigo ao criar uma funcao assim

    Eu gostaria de saber se existe algum problema relacionado a seguranca criando uma funcao assim, no exemplo sempre que eu crio uma funcao pre reutilizar os dados sao passados direto na chamada da funcao dentro do php, o usuario nao insere nenhum dado, quando o usuario vai inserir dados eu nao trabalho dessa forma, entao minha duvida [e, se mesmo o parametro da funcao sendo informado dentro do php no codigo pode existir algum problema. public function contar_cadastro($tabela, $sql){ try { if($sql == null){ $this->Select = $this->Conn->prepare("SELECT * FROM $tabela"); $this->Select->execute(); return $this->Select->rowCount(); }else{ $this->Select = $this->Conn->prepare("SELECT * FROM $tabela". " " ." $sql"); $this->Select->execute(); return $this->Select->rowCount(); } } catch (PDOException $exc) { exibeMensagens($Msg, $ErrNo); } } E as chamadas das funcoes assim $cmsPDO = new CmsPDO(); $r_userStaff = $cmsPDO->contar_cadastro('usuarios', ' where cargo > 2'); $r_userVip = $cmsPDO->contar_cadastro('usuarios', ' where cargo = 2'); $r_userBan = $cmsPDO->contar_cadastro('usuarios', " where ban = '1'"); $r_usuarioPDO = $cmsPDO->contar_cadastro('usuarios', null); $r_servVip = $cmsPDO->contar_cadastro('servidores', " where vipfree = 'V'"); $r_servFree = $cmsPDO->contar_cadastro('servidores', " where vipfree = 'F'"); $r_servInat = $cmsPDO->contar_cadastro('servidores', " where verificado = '1'"); $r_servOff = $cmsPDO->contar_cadastro('servidores', " where estado = 'Off'"); $r_servOn = $cmsPDO->contar_cadastro('servidores', " where estado = 'On'"); $r_servidores = $cmsPDO->contar_cadastro('servidores', null); Eu normalmente crio as funcoes assim: public function cadastrar_usuario($usuario){ try { if($this->veriricarnick($usuario) == false){ if($this->verificiarEmail($usuario) == false){ $query = 'INSERT INTO usuarios ' . '(id, nome, senha, email, cargo, ip)' . 'value(null,:nome, :senha, :email, :cargo, :ip)'; $this->Criar = $this->Conn->prepare($query); $this->Criar->bindValue(':nome' , $usuario->getNome() , PDO::PARAM_STR); $this->Criar->bindValue(':senha' , $usuario->getSenha(), PDO::PARAM_STR); $this->Criar->bindValue(':email' , $usuario->getEmail(), PDO::PARAM_STR); $this->Criar->bindValue(':cargo' , $usuario->getCargo(), PDO::PARAM_INT); $this->Criar->bindValue(':ip' , $usuario->getIp() , PDO::PARAM_STR); $this->Criar->execute(); if($this->Criar->rowCount() == 1){ return 1; }else{ return false; } }else{ return false; } }else{ return false; } } catch (PDOException $exc) { exibeMensagens("<b> Erro ao inserir.</b> Mensagem:{$exc->getMessage()} Código: {$exc->getCode()}", WS_ERROR); } }
  4. MateusOFCZ

    [Resolvido] Mostrar imagens aleatórias

    Olá, gostaria de saber como eu faço para mostrar uma imagem diferente ao acessar o site... Eu precisaria mostrar a imagem linkada, ou seja, quando clickar na imagem ela levará você para um link, porém cada imagem tem um link diferente, como faço isso? Caso você não tenha entendido seria uma espécie de "anúncios" em meu site, toda vez que reentrar nele irá mostrar uma imagem diferente, e essa imagem será linkada, e os links também serão diferentes um do outro.
  5. Bom dia tudo bem? Alguém sabe me dizer, se existe alguma ferramenta de agendamento opensource, onde os clientes se cadastrem nela, e agendem ou excluam seu horário e dia? fico no aguardo obrigada!
  6. pushline

    ajuda php iniciante

    sou novo em php e to aprendendo ainda, e me deparei com esse algoritmo e estou travado, por favor alguém me ajude? Um posto de combustível vende três tipos de combustível: etanol, diesel e gasolina. O preço por litro de combustível e apresentado na tabela a seguir. Desenvolva em php e html uma página onde o usuário informe um caractere que representa o tipo de combustível comprado (e, d ou g) e a quantidade em litros. Ao final, a página deverá mostrar o valor total a ser pago pelo combustível. Combustível Preço por Litro E – Etanol R$ 3,505 D – Diesel R$ 3,653 G – Gasolina R$ 4,595 todo o jeito de codigo q eu fiz ficou travado e nao foi
  7. LuanMartinsTI

    Select em 2 tabelas

    Tenho o seguinte problema, eu preciso dar um select em duas tabelas, ou ter dois selects tanto faz, eu fiz com inner join e com union all mas nao consigo ter o resultado que eu desejo O problema é o seguinte> Pra saber quantos usuarios eu tenho em cada grupo eu preciso dar um select na membros grupo com o id do grupo, mas eu preciso mostrar apenas os 5 primeiros grupos com mais gente, eu nao tenho na tabela falando grupo 1 tem 50 membros, eu tenho 50 linhas com grupo 1 e id do usuario, como eu transformo isso no que eu quero? a unica forma q eu pensei é criar um campo novo em grupos e colocar la o resultado de rowCount, mas gostaria de saber se é possivel fazer sem, eu ja consigo mostrar quantos usuarios cada grupo tem, eu nao consigo mostrar é em ordem e nao é so dar o asc o problema é na logica provavelmente, mas se for possivel resolver isso com uma unica query ficarei grato tabela 1 grupos( id nome dono created stat ) tabela 2 membros_grupo( id grupo_id user_id ) PHP public function ultimosGrupos($limite){ try { $query = "SELECT * FROM groups ORDER BY id ASC LIMIT :limite"; $this->Select = $this->Conn->prepare($query); $this->Select->bindParam(':limite' , $limite, PDO::PARAM_INT); $this->Select->execute(); if($this->Select->rowCount() > 0){ return $this->Select->fetchAll(PDO::FETCH_ASSOC); }else{ return FALSE; } } catch (PDOException $exc) { exibeMensagens("Erro ao consultar. {$exc->getMessage()}", WS_ERROR); } } public function users_por_grupo($id){ try { $query = "SELECT * FROM group_memberships WHERE group_id = :id"; $this->Select = $this->Conn->prepare($query); $this->Select->bindParam(':id' , $id, PDO::PARAM_INT); $this->Select->execute(); return $this->Select->rowCount(); } catch (PDOException $exc) { exibeMensagens("Erro ao consultar. {$exc->getMessage()}", WS_ERROR); } }
  8. Robson Augusto

    Meu Site não aparece em Resultados de pesquisa no PC

    Galera se alguém souber o que ocorre, é o seguinte, não acredito que possa ser Problema de SEO, mas vamos lá meu site anuncicarbh.com, não aparece em pesquisa feitas pelo computador, com a palavra chave "seminovos bh", ele aparece na primeira oscilando para segunda pagina do bing e yahoo, fazendo a pesquisa pelo telefone, ja no pc ele nao aparace mais no yahoo, mas continua a aparecer no bing, ja no google ele teve pequenas aparições na terceira página, agora em ambas as pesquisas de pc e celular ja não aparece mais no google... So aparece atualmente no google, pesquisando pelo nome do site... Alguem saberia me dizer o por que disso? será SEO?
  9. jlrs19833

    RETORNAR DADOS PARA PHP

    Bom dia, pessoal! Estou precisando de uma luz para saber como tratar determinado problema: Cenário: Ambiente em desenvolvimento de plataforma para gestão de uma empresa. Linguagem principal: PHP (framework CodeIgniter) Dificuldade: retornar dados de select dinâmico junto ao evento de post do formulário. Descrição: Conforme mencionado acima, estou desenvolvendo um pequeno sistema para uma empresa que conterá poucas telas, sou desenvolver entusiasta, então não tenho muito conhecimento e prática com este assunto. Em determinada tela, o cliente quer que haja um formulário de cadastro onde dentre os diversos campos deste form, haverá dois do tipo select, onde um é o select de cidade e o outro do tipo estado. O select de Estado é preenchido automaticamente quando do carregamento da view, através de uma chamada do controller/model junto ao BD e o select cidade é preenchido de maneira automática, com javascript, através de uma mesma consulta, passando o ID do campo estado. Minha dificuldade está quando faço o submit deste form, pois o campo value do option deste select (cidade) não é enviado junto, pois no código fonte ele não foi carregado. Como posso fazer para recuperar esse value e enviar junto com o evento de submit? Segue como meus arquivos estão sendo feitos. Como pode observar estou, tentando apenas printar os campos para que eu possa ter certeza que eles estão sendo carregados. https://gist.github.com/jlrs19833/808887a5221ff31ca6ea22bf0c8b85a5 Peço desculpas se estou postando no local errado e que os moderadores me orientem neste caso. Desde já agradeço o auxílio de cada um.
  10. Olá pessoal, sou novo por aqui e não sei bem como funciona, mas sei que preciso de uma ajuda kkkkk se puderem me dar uma mão ficaria grato; Estou tendo problemas em como pegar id de uma linha clicada em uma table, que já recebe os dados de um bd. Eu gostaria de poder editar os campos e salvar no banco de dados usando o ID da linha clicada; Vou colar o código abaixo, não reparem na bagunça kkkkk conexao.php <?php $server = "XXXXX"; Conferido e esta correto; $username = "XXXXX"; Conferido e esta correto; $password = "XXXXX"; Conferido e esta correto; $dbname = "XXXXX"; Conferido e esta correto; $conn = mysqli_connect($server, $username, $password, $dbname); altera.php <?php $link = mysqli_connect("XXXXXX", "XXXXX", "XXXXX", "XXXXXX"); Conferido $sql = "SELECT * FROM interface "; $consulta = mysqli_query($link, $sql); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="30"> <link rel="stylesheet" type="text/css" href="style.css"> <script src="sorttable.js"></script> <title>Dashboard</title> <?php session_start(); if(!isset($_SESSION['login']) and !isset ($_SESSION['senha'])){ session_destroy(); unset($_SESSION['login']); unset($_SESSION['senha']); header('location:index.html'); } ?> </head> <body> <a href="index.php"><img src="img/ditec_smart_hor_150px.png"></a> <div class="borda_titulo"> <h2><center>DIMILK | Equipamentos</font></h2></center></div><br /><br /> <form name="equipamento" action="salva.php" method=post> <center><table id="minhaTabela" border="3" class="sortable" bgcolor="#1E90FF"> <tr> <th><center>ID </center></th> <th><center>MAC</center></th> <th><center>Habilitado</center></th> <th><center>Descrição</center></th> <th><center>Altura Tarro</center></th> <th><center>Área Tarro</center></th> <th><center>Alterar</center></th> </tr> <?php while($registro = mysqli_fetch_assoc($consulta)){ echo '<tr bgcolor="#ADD8E6" scope="row">'; echo '<td name="id"><center>'.$registro["id"].'</center></td>'; echo '<td name="mac"><center>'.$registro["mac"].'</center></td>'; echo '<td><center><input type="checkbox" name="status" value="$teste"><br></center></td>'; echo '<td id="linha_desc"><textarea name="desc" type=text placeholder="'.$registro["descricao"].'" /></textarea></td>'; echo '<td><input name="altura" type=text style="width: 70px;" placeholder="'.$registro["altura_latao"].' cm" /></td>'; echo '<td><input name="area" type=text style="width: 70px;" placeholder="'.$registro["area_latao"].' cm" /></td>'; echo '<td><form method="get" action="salva.php"><center><button class="voltar" type="submit">Salvar</button></center></form><br />'; echo '</tr>'; } echo '</tbody></table></form>'; ?></center><br /> <div> <form method="get" action="index.html"> <center><button class="voltar" type="submit">Voltar</button></center></form> </div> <br /> <footer class="borda_texto"><center> <img src="img/rodape_logo.png"> 2019 © <b>DITEC - Smart Solutions</b> - Todos os Direitos Reservados. <a class="px-4" href="https://www.ditecsc.com.br" target="_blank">Ditec - Smart Solution</a> </center></footer> </body> </html> salva.php <?php include('conexao.php'); include_once('altera.php'); // declaração de variáveis $id = 22; /*$id = $_GET['id']; $status = $_POST['status'];*/ $descricao = $_POST['desc']; $altura = $_POST['altura']; $area = $_POST['area']; $up = mysqli_query($conn, "UPDATE interface SET descricao='$descricao', altura_latao='$altura', area_latao='$area' WHERE id=$id"); if(mysqli_affected_rows($conn) > 0){ echo '<center><h1><b>Sucesso</b></h1><br /> <h2>Atualizado!</h2></center>'; header("Refresh: 2;url=equipamentos.php"); }else{ echo '<center><h1><b>Erro</b></h1><br /> <h2>Não foi atualizado!</h2></center>'; header("Refresh: 2;url=altera.php"); } mysqli_close($conn); ?> Do jeito que esta eu consigo alterar o id=22, mas não consegui pegar o id da linha sequente;
  11. Olá pessoal, esse é meu primeiro post, gostaria de uma ajuda de alguém que tenha contato com Woocommerce/ Wordpress. Eu recebi uma solicitação de um cliente para conectar um web service a loja dele, com o objetivo de verificar vagas existentes em pousadas, depois de agrupar os dados do pedido, enviar um formulário para os colaboradores dele e assim, efetuar a venda. A principio a loja funciona no modo orçamento apenas e por enquanto vai permanecer assim, minha solução foi criar um plugin para o Woocommerce que faz todo esse trabalho de forma externa, usando os ganchos do wordpress. A minha questão é se o cliente for colocar a loja no modo venda, como vou tratar a quantidade de variações? O Woocommerce é preparado pra isso ou seria melhor outro gerenciador de loja? OBS: Pra ficar mais fácil de entender a cliente é uma agência de viagens, como a decolar por exemplo. E portanto se conecta a outros bancos com uma infinidade de variáveis, restrições e métodos diferentes em cada atividade diferentes. OBS: Estou disposto a novas plataformas que suportem essa complexibilidade de dados, se houver algo PHP + MySQL é muito bem vindo kkkk
  12. lsantgo

    SELECT ... FOR UPDATE com PHP

    Estou a dois dias tentando resolver esse problema, se alguém puder me ajudar eu agradeço de mais. Possuo a seguinte consulta: Ela serve para que eu possa captar o próximo numero disponível para orçamento e já fazer um update adicionando 1 unidade a esse numero antes que que a aplicação quando usada por outro usuário capte o mesmo numero que outro. A consulta funciona perfeitamente, o banco usado é oracle 11g. Porém não consigo aplicar isso na linguagem php, pois a query não aceita 2 consultas. Já tentei usar cursores utilizando de oci_new_cursor, porém sem exito. Alguns trechos de código tentei adaptar de exemplos desse site PHP oci_new_cursor Examples Se alguém puder me ajudar por favor. Já nem sei mais o que tentar Seguem abaixo 2 exemplos de códigos (um com cursor e outro sem) : <?php include "config.php"; //arquivo de configuração //------------------------------------------------------------------------------------------------------// $query2 = "BEGIN SELECT proxnum FROM orcamento FOR UPDATE of proxnum; UPDATE orcamento SET proxnum = proxnum + 1; end;"; $s2 = oci_parse($c, $query2); if (!$s2) { $m2 = oci_error($c); trigger_error('Could not parse statement: ' . $m['message'], E_USER_ERROR); } //prepara para a execução $refcur = oci_new_cursor($c); $r2 = oci_execute($s2); if (!$r2){ $m2 = oci_error($s2); trigger_error('Could not execute statement: ' . $m['message'], E_USER_ERROR); }// executa a consulta oci_execute($refcur); ?> <?php include "config.php"; //arquivo de configuração //------------------------------------------------------------------------------------------------------// $query2 = " SELECT proxnum FROM orcamento FOR UPDATE of proxnum; UPDATE orcamento SET proxnum = proxnum + 1; "; $s2 = oci_parse($c, $query2); if (!$s2) { $m2 = oci_error($c); trigger_error('Could not parse statement: ' . $m['message'], E_USER_ERROR); } //prepara para a execução $r2 = oci_execute($s2); if (!$r2){ $m2 = oci_error($s2); trigger_error('Could not execute statement: ' . $m['message'], E_USER_ERROR); }// executa a consulta ?>
  13. nosredna

    Múltiplos cálculos com JavaScript

    Olá amigos, tenho o seguinte código: <html> <script type="text/javascript"> function Soma(){ var soma = 0; var ipts = document.querySelectorAll('input[oninput="Soma()"]'); for(var x=0; x<ipts.length; x++){ var valorItem = parseFloat(ipts[x].value); !isNaN(valorItem) ? soma += parseFloat(valorItem) : null; } document.querySelector('#final').value = soma.toFixed(2); } </script> <form action=""> Total produto1: <input type="text" oninput="Soma()" value="0"><br> Total produto2: <input type="text" oninput="Soma()" value="0"><br> <br> Total todos os produtos12: <input type="text" id="final"> </form> </html> Bom...para essas duas inputs funciona corretamente. Porém, se eu quiser colocar mais inputs como: Total produto3 + Total produto4 = Total todos os produtos34, Total produtoX + Total produtoY = Total todos os produtosXY, ... e usar o mesmo código JS, é possível? alguém poderia me dar uma dica de como eu faço para fazer isso? já tentei de várias maneiras, mas não estou tendo sucesso... Fico agradecido.
  14. nosredna

    [Resolvido] Manter Input Selecionado

    Olá amigos, vocês poderiam me ajudar? Eu tenho a input abaixo em PHP, quando eu acabar de digitar algo eu desejo que ela selecione o texto digitado automaticamente. É possível? Como eu faria? Exemplo abaixo: Agradeço a ajuda. Valeuuuu.
  15. Tenho um apache2 configurado para a minha pasta /var/www/meusite , porem quando clonaram, usaram https e nao SSH, fiz o clone do novo projeto, todos os arquivos estão iguais, porem quando renomeio as pastas para ir para o meu novo projeto, me da o erro : This page isn’t working Dando o erro de HTTP ERROR 500, ja tentei verificar no LOG do apache, porem não esta logando nada, alguem poderia me ajudar?
  16. Rogerio Pancini

    Coleta de dados para criar uma variável

    Bom dia pessoal! Estou com seguinte caso: preciso fazer uma coleta de dados, que no caso seria esta seleção: $sql_c_1 = mysqli_query($config, "SELECT DISTINCT id_malote FROM boletosdomalote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_1) <= '0'){ $c_sql_c_1[] = ""; }else{ while($r_sql_c_1 = mysqli_fetch_array($sql_c_1)){ $c_sql_c_1[] = $r_sql_c_1[0]; } } $sql_c_2 = mysqli_query($config, "SELECT DISTINCT id_malote FROM caixasdomalote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_2) <= '0'){ $c_sql_c_2[] = ""; }else{ while($r_sql_c_2 = mysqli_fetch_array($sql_c_2)){ $c_sql_c_2[] = $r_sql_c_2[0]; } } $sql_c_3 = mysqli_query($config, "SELECT DISTINCT id_malote FROM notasfiscaisdomalote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_3) <= '0'){ $c_sql_c_3[] = ""; }else{ while($r_sql_c_3 = mysqli_fetch_array($sql_c_3)){ $c_sql_c_3[] = $r_sql_c_3[0]; } } $sql_c_4 = mysqli_query($config, "SELECT DISTINCT id_malote FROM documentosdomalote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_4) <= '0'){ $c_sql_c_4[] = ""; }else{ while($r_sql_c_4 = mysqli_fetch_array($sql_c_4)){ $c_sql_c_4[] = $r_sql_c_4[0]; } } $sql_c_5 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_cheque_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_5) <= '0'){ $c_sql_c_5[] = ""; }else{ while($r_sql_c_5 = mysqli_fetch_array($sql_c_5)){ $c_sql_c_5[] = $r_sql_c_5[0]; } } $sql_c_6 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_holerite_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_6) <= '0'){ $c_sql_c_6[] = ""; }else{ while($r_sql_c_6 = mysqli_fetch_array($sql_c_6)){ $c_sql_c_6[] = $r_sql_c_6[0]; } } $sql_c_7 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_material_grafico_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_7) <= '0'){ $c_sql_c_7[] = ""; }else{ while($r_sql_c_7 = mysqli_fetch_array($sql_c_7)){ $c_sql_c_7[] = $r_sql_c_7[0]; } } $sql_c_8 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_outros_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_8) <= '0'){ $c_sql_c_8[] = ""; }else{ while($r_sql_c_8 = mysqli_fetch_array($sql_c_8)){ $c_sql_c_8[] = $r_sql_c_8[0]; } } $sql_c_9 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_dinheiro_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_9) <= '0'){ $c_sql_c_9[] = ""; }else{ while($r_sql_c_9 = mysqli_fetch_array($sql_c_9)){ $c_sql_c_9[] = $r_sql_c_9[0]; } } $sql_c_10 = mysqli_query($config, "SELECT DISTINCT id_malote FROM tb_dep_pessoal_malote WHERE usuario_recebimento = '$id_usuario' AND conffin <> 'S'") or die(mysqli_error($config)); if(@mysqli_num_rows($sql_c_10) <= '0'){ $c_sql_c_10[] = ""; }else{ while($r_sql_c_10 = mysqli_fetch_array($sql_c_10)){ $c_sql_c_10[] = $r_sql_c_10[0]; } } Eu até fiz teste com arrays. Se eu der um implode, consigo fazer o select que preciso: if(!empty($c_sql_c_1)){ $v_c_sql_c_1 = implode(",",$c_sql_c_1); }else{ $v_c_sql_c_1 = ""; } $sql_3 = mysqli_query($config, "SELECT ma.id, ma.titulo, ma.datadecadastro, usr.nome, ma.id_estabelecimento_origem, ma.id_estabelecimento_destino, ma.status, ma.id_usuario_envio FROM malote ma LEFT JOIN usuario AS usr ON (ma.id_usuario_envio = usr.id) WHERE ma.id_estabelecimento_origem = '$id_estabelecimento' && ma.id_usuario_cadastro = '$id_usuario' OR ma.id_estabelecimento_destino = '$id_estabelecimento' && ma.id_usuario_cadastro = '$id_usuario' OR ma.status = '1' && ma.id_estabelecimento_origem = '$id_estabelecimento' OR ma.status = '2' && ma.id_estabelecimento_origem = '$id_estabelecimento' OR ma.status = '1' && ma.id_estabelecimento_destino = '$id_estabelecimento' OR ma.status = '2' && ma.id_estabelecimento_destino = '$id_estabelecimento' OR ma.id IN ($v_c_sql_c_1) ORDER BY ma.datadecadastro DESC") or die(mysqli_error($config)); } Porém, eu precisaria fazer o select com todos os resultados acima. Fiz outro teste, concatenando todos: echo $v_c_sql_c_1 . " " . $v_c_sql_c_2 . " " . $v_c_sql_c_3 . " " . $v_c_sql_c_4 . " " . $v_c_sql_c_5 . " " . $v_c_sql_c_6 . " " . $v_c_sql_c_7 . " " . $v_c_sql_c_8 . " " . $v_c_sql_c_9 . " " . $v_c_sql_c_10; E o resultado foi esse: 312,317 312,317,324 312 Apesar de não estar bonito, se funcionasse poderia ser assim, mas o $sql_3 não lê, por ter espaços sem vírgula, além do resultado estar errado, por ter id's repetidos. Se alguém tiver alguma ideia da forma mais correta de chegar ao resultado final, eu agradeço. Pensei em formar um array, com o array_merge, mas não deu certo também. Enfim, a ideia é juntar todos os resultados, de forma não repetida, para incluir no $sql_3. Obrigado pela atenção.
  17. zinleo1

    SELECT em duas table

    Estou precisando consultar o endereço(tipo_logradouro e logradouro) de um cliente no meu banco de dados mas to tendo problemas no select, alguém consegue me ajudar, como faço para dar select em duas tabelas? Segue o código: <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <fieldset> <legend>Lista de Registros</legend> <table border="1" width="100%"> <tr> <th>Código do Usuário</th> <th>Nome do Usuário</th> <th>Sobrenome do Usuário</th> <th>Tipo de Logradouro</th> <th>Logradouro</th> </tr> <?php if(isset($_POST["consultar"])){ $nome = $_POST['nome']; $sobrenome = $_POST['sobrenome']; include('conexao.php'); $sqlconsultaraluno= "select * from aluno where nome_aluno='$nome' or sobrenome_aluno='$sobrenome'"; $consultaraluno = mysqli_query($con,$sqlconsultaraluno); $i = 0; if (mysqli_num_rows($consultaraluno, $consultarendereco) == 0){ echo "<h4>Nenhum Registro Encontrado!</h4>"; } else{ while ($linha = mysqli_fetch_array($consultarendereco)) { $cod_aluno = $linha["cod_aluno"]; $nome = $linha["nome_aluno"]; $sobrenome = $linha["sobrenome_aluno"]; $tipologradouro = $linha['tipo_logradouro']; $logradouro = $linha ['logradouro']; if ($i % 2 == 0){ $cor = "#DDDDDD"; } else{ $cor = "#FFFFFF"; } ?> <tr bgcolor="<?php echo $cor; ?>" <td></td> <td><?php echo $cod_aluno; ?></td> <td><?php echo $nome; ?></td> <td><?php echo $sobrenome; ?></td> <td><?php echo $tipologradouro; ?></td> <td><?php echo $logradouro; ?></td> <td><?php echo "<a href='editar_usuario.php?id=".$linha["cod_aluno"]."'>Editar</a>";?></td> <td><?php echo "<a href='deletar_usuario.php?id=".$linha["cod_aluno"]."'>Deletar</a>";?></td> </tr> <?php $i++; } } } ?> </table> </body> </html>
  18. leo_santo1

    Como adicionar Detalhe de Linha na Datatable

    Venho por meio desse post procurar ajuda com meu código! Estou fazendo um código usando `DataTable` , sou iniciante na programação, depois de umas pesquisas e até mesmo algumas dicas conseguir construir uma DataTable com banco de dados. Continuando minhas pesquisas para aprimorar mais ainda o código, percebi que a `DataTable` possuir varias funções interessantes, umas delas em especifico chamou bastante minha atenção e até me ajudaria no código que no caso é o uso de Linhas filhas ocultas, que quando fazemos o click em cima de um botão aparece as informações extras da linha ( no caso os dados a mais do banco ) e ao apertar ela novamente ele oculta as informações. Gostaria de ajuda para criar essa função na minha Tabela, já realizei pesquisas no próprio site da `DataTable` , aqui, porem não entendo bem o jeito que eles explicam. segue abaixo meu código da table e da `DataTable` que conecta com o Banco. Tabela <table id="employee-grid" cellpadding="0" cellspacing="0" border="0" class="display" width="100%"> <thead> <tr> <th>Nome</th> <th>CPF</th> <th>Data de Nascimento</th> <th></th> <th>Ação</th> <th></th> </tr> </thead> <thead> <tr> <td><input type="text" data-column="0" class="search-input-text" style="width: 150px;"></td> <th><input type="text" data-column="1" class="search-input-text" style="width: 150px;"></td> <th><input type="text" id="data" data-column="2" class="search-input-text" style="width: 150px;"></th> <th></th> <td> </td> <td></td> </tr> </thead> </table> Script DataTable $(document).ready(function() { var dataTable = $('#employee-grid').DataTable( { "processing": true, "serverSide": true, "bJQueryUI": true, "oLanguage": { "sProcessing": "Processando...", "sLengthMenu": "Mostrar _MENU_ registros", "sZeroRecords": "Não foram encontrados resultados", "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros", "sInfoEmpty": "Mostrando de 0 até 0 de 0 registros", "sInfoFiltered": "", "sInfoPostFix": "", "sSearch": "Buscar:", "sUrl": "", "oPaginate": { "sFirst": "Primeiro", "sPrevious": "Anterior", "sNext": "Seguinte", "sLast": "Último" } }, "ajax":{ url :"../Tabelas/Tabela_consulta_cliente.php", // json datasource type: "post", // method , by default get error: function(){ // error handling $(".employee-grid-error").html(""); $("#employee-grid").append('<tbody class="employee-grid-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>'); $("#employee-grid_processing").css("display","none"); } } } ); $("#employee-grid_filter").css("display","none"); // hiding global search box $('.search-input-text').on( 'keyup click', function () { // for text boxes var i =$(this).attr('data-column'); // getting column index var v =$(this).val(); // getting search input value dataTable.columns(i).search(v).draw(); } ); $('.search-input-select').on( 'change', function () { // for select box var i =$(this).attr('data-column'); var v =$(this).val(); dataTable.columns(i).search(v).draw(); } ); } ); Conexão DataTable com o Banco de dados <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "loc_equipamentos"; $conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error()); $requestData= $_REQUEST; $columns = array( 0=>'nome_usuario', 1=> 'cpf_usuario', 2=> 'data_nascimento', 3=> 'id_usuario', 4=> 'id_usuario', 5=> 'id_usuario' ); $sql = "SELECT nome_usuario, cpf_usuario, data_nascimento, id_usuario "; $sql.=" FROM usuario"; $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees"); $totalData = mysqli_num_rows($query); $totalFiltered = $totalData; . $sql = "SELECT nome_usuario, cpf_usuario, data_nascimento, id_usuario "; $sql.=" FROM usuario WHERE tipo_perfil = 'CLIENTE' AND ativo_usuario = 'TRUE'"; if( !empty($requestData['columns'][0]['search']['value']) ){ $sql.=" AND nome_usuario LIKE '".$requestData['columns'][0]['search']['value']."%' "; } if( !empty($requestData['columns'][1]['search']['value']) ){ $sql.=" AND cpf_usuario LIKE '".$requestData['columns'][1]['search']['value']."%' "; } if( !empty($requestData['columns'][2]['search']['value']) ){ //age $sql.=" AND data_nascimento LIKE '".$requestData['columns'][2]['search']['value']."%' "; } $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees"); $totalFiltered = mysqli_num_rows($query); $sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." "; $query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees"); $data = array(); while( $row=mysqli_fetch_array($query) ) { $nestedData=array(); $informacao ="<div class='botaodiv'> <a href = ?informacao=".$row['id_usuario']." >+ Informações</a> </div>"; $editar ="<div class='botaodiv'> <a href = ?editar=".$row['id_usuario']." >Editar</a> </div>"; $deletar ="<div class='botaodiv'> <a href = ../Eventos/evento.php?DesativaCadastro=".$row['id_usuario']." >Excluir</a> </div>"; $nestedData[] = $row["nome_usuario"]; $nestedData[] = $row["cpf_usuario"]; $nestedData[] = $row["data_nascimento"]; $nestedData[] = $informacao; $nestedData[] = $editar; $nestedData[] = $deletar; $data[] = $nestedData; } $json_data = array( "draw" => intval( $requestData['draw'] ), "recordsTotal" => intval( $totalData ), "recordsFiltered" => intval( $totalFiltered ), "data" => $data ); echo json_encode($json_data); ?> Fora o caso de criar Detalhes para Linhas, Caso alguém tenha alguma sugestão de como melhorar meu código ( por exemplo uma Conexão ao Banco mais simples, um Js melhor etc.. ) ou alguma critica para eu evoluir, irei agradecer bastante!
  19. Preciso fazer uma página de consulta onde selecionando a cidade traga como resultado estabelecimentos comerciais daquela cidade. O exemplo do código que estou usando funciona perfeitamente com países, estados e cidade, mas na hora que faço a função "lojas", mesmo o código sendo idêntico não aparece o resultado. O que tem me deixado doida é que os primeiros select funcionam, mas o último "lojas" não funciona de jeito nenhum! Alguém pode olhar o código e me dizer onde estou pecando? $(function(){ // Pais function pais(){ $.ajax({ type: 'GET', url: 'funcoes.php', data: { acao: 'pais' }, dataType: 'json', success: function(data){ console.log(data); for(i = 0; i < data.qtd; i++){ $('select[name=pais]').append('<option value="'+data.id[i]+'">'+data.pais[i]+'</option>'); } } }); } pais(); function estado(pais){ $.ajax({ type: 'GET', url: 'funcoes.php', data: { acao: 'estado', id: pais }, dataType: 'json', beforeSend: function(){ $('select[name=estado]').html('<option>Carregando...</option>'); }, success: function(data){ $('select[name=estado]').html(''); $('select[name=estado]').append('<option>Selecione o estado</option>'); for(i = 0; i < data.qtd; i++){ $('select[name=estado]').append('<option value="'+data.id[i]+'">'+data.estado[i]+'</option>'); } } }); } // Cidade function cidade(estado){ $.ajax({ type: 'GET', url: 'funcoes.php', data: { acao: 'cidade', id: estado }, dataType: 'json', beforeSend: function(){ $('select[name=cidade]').html('<option>Carregando...</option>'); }, success: function(data){ $('select[name=cidade]').html(''); $('select[name=cidade]').append('<option>Selecione a cidade</option>'); for(i = 0; i < data.qtd; i++){ $('select[name=cidade]').append('<option value="'+data.id[i]+'">'+data.cidade[i]+'</option>'); } } }); } function contrubuinte(cidade){ $.ajax({ type: 'GET', url: 'funcoes.php', data: { acao: 'contrubuinte', id: cidade }, dataType: 'json', beforeSend: function(){ $('select[name=contrubuinte]').html('<option>Carregando...</option>'); }, success: function(data){ console.log(data); $('select[name=contrubuinte]').html(''); $('select[name=contrubuinte]').append('<option>Selecione a contrubuinte</option>'); for(i = 0; i < data.qtd; i++){ $('select[name=contrubuinte]').append('<option value="'+data.id[i]+'">'+data.contrubuinte[i]+'</option>'); } } }); } $('select[name=pais]').change(function(){ var id = $(this).val(); estado(id); }); $('select[name=estado]').change(function(){ var idEstado = $(this).val(); cidade(idEstado); }); $('select[name=cidade]').change(function(){ var id = $(this).val(); contrubuinte(id); }); }); <?php require("config.php"); $retorno = array(); if($_GET['acao'] == 'pais'){ $sql = $pdo->prepare("SELECT * FROM pais"); $sql->execute(); $n = 0; $retorno['qtd'] = $sql->rowCount(); while($ln = $sql->fetchObject()){ $retorno['pais'][$n] = $ln->pais; $retorno['id'][$n] = $ln->id; $n++; } } if($_GET['acao'] == 'estado'){ $id = $_GET['id']; $sql = $pdo->prepare("SELECT * FROM estados WHERE id_pais = :id"); $sql->bindValue(":id", $id, PDO::PARAM_INT); $sql->execute(); $n = 0; $retorno['qtd'] = $sql->rowCount(); while($ln = $sql->fetchObject()){ $retorno['estado'][$n] = $ln->estado; $retorno['id'][$n] = $ln->id; $n++; } } if($_GET['acao'] == 'cidade'){ $id = $_GET['id']; $sql = $pdo->prepare("SELECT * FROM cidades WHERE id_estado = :id"); $sql->bindValue(":id", $id, PDO::PARAM_INT); $sql->execute(); $n = 0; $retorno['qtd'] = $sql->rowCount(); while($ln = $sql->fetchObject()){ $retorno['cidade'][$n] = $ln->cidade; $retorno['id'][$n] = $ln->id; $n++; } } if($_GET['acao'] == 'contribuinte'){ $id = $_GET['id']; $sql = $pdo->prepare("SELECT * FROM contribuinte WHERE id_cidade = :id"); $sql->bindValue(":id", $id, PDO::PARAM_INT); $sql->execute(); $n = 0; $retorno['qtd'] = $sql->rowCount(); while($ln = $sql->fetchObject()){ $retorno['contribuinte'][$n] = $ln->contribuinte; $retorno['id'][$n] = $ln->id; $n++; } } die(json_encode($retorno)); <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <select name="pais"> <option>Selecione o Pais</option> </select> <select name="estado"> <option>Selecione o Estado</option> </select> <select name="cidade"> <option>Selecione a Cidade</option> </select> <select name="contribuinte"> <option>Selecione o Contribuinte</option> </select> <script src="jquery.js"></script> <script src="funcoes.js"></script> </body> </html>
  20. Perroni91

    Spam no formulário de contato

    Olá. Estou sofrendo com spams no formulário de contato do meu Portfólio. Já coloquei os campos 'nome', 'email' e 'mensagem' como obrigatórios e com os testes que fiz, não é possível enviar sem preencher esses campos. Mas a cada hora chega no meu email esse formulário enviado só com o campo email preenchido, são emails aleatórios. Como consigo fazer isso parar? Há algum jeito de fazer sem colocar Captcha no meu formulário? Esse é o meu formulário: <form action="sendemail.php" method="post" id="contact-form" class="form-horizontal"> <fieldset> <div class="form-group"> <div class="col-sm-8"> <input type="text" placeholder="Nome" class="form-control" name="nome" id="nome" required="Preencha o seu nome"> </div> </div> <div class="form-group"> <div class="col-sm-8"> <input type="text" placeholder="Email" class="form-control" name="email" id="email"> </div> </div> <div class="form-group"> <div class="col-sm-8"> <input type="text" placeholder="Assunto" class="form-control" name="assunto" id="assunto"> </div> </div> <div class="form-group"> <div class="col-sm-8"> <textarea placeholder="Mensagem" class="form-control" name="mensagem" id="mensagem" rows="3" required=""></textarea> </div> </div> <div class="col-sm-8"> <button type="submit" class="btn btn-success">Enviar</button> </div> </fieldset> </form> E esse é o arquivo que faz o envio do formulário: <?php if(isset($_POST['email'])) { // Debes editar las próximas dos líneas de código de acuerdo con tus preferencias $email_to = "marciasprates@hotmail.com"; $email_subject = "Contato | Meu Portfólio"; $email_from = "marciaprates.com"; // Aquí se deberían validar los datos ingresados por el usuario if(!isset($_POST['nome']) || !isset($_POST['email']) || !isset($_POST['assunto']) || !isset($_POST['mensagem'])) { echo "<b>Não foi possível enviar o formulário. </b><br />"; echo "Por favor, tente novamente!<br />"; die(); } $email_message = "Formulário do meu Portfólio:\n\n"; $email_message .= "Nome: " . $_POST['nome'] . "\n"; $email_message .= "E-mail: " . $_POST['email'] . "\n"; $email_message .= "Assunto: " . $_POST['assunto'] . "\n\n"; $email_message .= "Mensagem: " . $_POST['mensagem'] . "\n\n"; // Ahora se envía el e-mail usando la función mail() de PHP $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); echo "<b>O formulário foi enviado com sucesso!</b>"; } ?> <script> setTimeout('window.location.href="index.html"',1700) </script> Alguém poderia por favor me ajudar? Já não aguento mais esses emails chegando a cada hora só com o email preeenchido.
  21. Galera, bom dia/tarde/noite, Estou desenvolvendo uma aplicação web, porém preciso mostrar algumas informações e os objetos vão mudar de cor / porcentagem, segundo as informações que estão contidas no banco de dados, Tenho, algumas ideias, porém não sei nem por onde começar, se alguém puder ajudar, agradeço !! Um abraço a todos e bons posts!
  22. Malebo

    Erro ao instalar o mysql no Laradock

    Boas. Estou a três semana com erro abaixo, preciso da vossa ajura para poder baixar as imagens do mysql no laradock. Abaixo o trecho de codigo, quando executou docker-compose up -d mysql ele nunca sai desta tela. $ docker-compose build --no-cache mysql Building mysql Step 1/9 : ARG MYSQL_VERSION=8.0 Step 2/9 : FROM mysql:${MYSQL_VERSION} 8.0: Pulling from library/mysql
  23. // estou tentado retorna o cep da rua passando estado/ cidade/ rua mais nessa parte do código $xml = simplexml_load_file($retona);// gera erro aqui amigos me ajude por favor estou usando uma api que retorna um xml. obrigado a todos. <?php $estado = $_POST['estado']; $cidade = $_POST['cidade']; $rua = $_POST['rua']; $retona ="viacep.com.br/ws/".$estado."/".$cidade."/".$rua."/xml/ "; $xml = simplexml_load_file($retona);// gera erro aqui amigos if ($xml== TRUE) { echo 'ESTADO: ' .$xml->cep. '<br>'; } if ($xml== FALSE) { echo 'CEP INVALIDO ' ; } ?>
  24. diogoglobaltec

    não consigo valor do array $_FILES

    criei um formulário dinamico e gostaria de enviar para o arquivo rec.php, os aquivos adicionados pelo no formato file , já tentei colocar em x.setAttribute("enctype" , "multipart/form-data"); também não funcionou segue o arquivo: <!DOCTYPE html> <html> <body> <p>Click the button to create a FORM and an INPUT element.</p> <button onclick="myFunction()">Try it</button> <button onclick="enviar()">enviar</button> <script> function myFunction() { var x = document.createElement("FORM"); x.setAttribute("action", "rec.php"); x.setAttribute("method", "post"); x.setAttribute("id", "myForm"); document.body.appendChild(x); var y = document.createElement("INPUT"); y.setAttribute("type", "file"); y.setAttribute("name", "arquivo[]"); document.getElementById("myForm").appendChild(y); } function enviar(){ document.forms[0].submit(); } </script> </body> </html> consigo pegar no arquivo rec.php o valor de $_POST , mas de $_FILES não consigo pegar como um array, o que está dando errado ? segue o script PHP Arquivo rec.php <?php foreach($_POST['arquivo'] as $value) { echo $value."<br />"; } foreach($_FILES['arquivo'] as $value) { echo $value['arquivo']['name']."<br />"; }
  25. Estou criando meu próprio mvc php para adquirir mais conhecimento. Mas estou me deparando com uma coisa muita estranha, eu perco a $_SESSION de uma view para outra view Fiz um codigo simples pra testar.a.php ----- view a.php <?php session_start(); $_SESSION['teste'] = 'Funcionou'; echo $_SESSION['teste']; ?> <?php session_start(); echo $_SESSION['teste']; // Notice: Undefined variable: _SESSION in var_dump($_SESSION); // Notice: Undefined variable: _SESSION in NULL ?> <?php namespace Sis\Classes; use App\Model\ClassLogin; use Sis\Traits\TraitGetIp; class ClassSession { private $login; private $timeSession = 1200; private $timeCanary = 300; public function __construct(){ if(session_id() == ''){ ini_set("session.save_handler", "files"); //Cabeçalhos somente atraves de arquivos ini_set("session.use_cookies", 1); //Habilita o uso de cookies ini_set("session.use_only_cookies", 1); //Só pode habilitar a seção atraves de coockies ini_set("session.cookie_domain", DOMAIN); //Só aceita coockies vindo do nosso sistema ini_set("session.cookie_httponly", 1); //Só aceita script php e não deixa o javascript alterar o sistema if(DOMAIN != "localhost"){ ini_set("session.cookie_secure", 1); //Para trabalhar com o SSL do servidor ativo } /*Criptografia das nossas sessions*/ ini_set("session.entropy_length", 512); // ini_set("session.entropy_file","/dev/urandom"); ini_set("session.hash_function", "sha256"); ini_set("session.hash_bits_per_character", 5); session_start(); } $this->login = new ClassLogin(); } #Proteger contra roubo de sessão public function setSessionCanary($par=null){ session_regenerate_id(true); if($par == null){ $_SESSION['canary']=[ "birth" => time(), "IP" => TraitGetIp::getUserIp() //Pega o ip do usuario ]; }else{ $_SESSION['canary']['birth']=time(); } } #Verificar a integridade da sessão public function verifyIdSessions(){ if(!isset($_SESSION['canary'])){ $this->setSessionCanary(); } if($_SESSION['canary']['IP'] !== TraitGetIp::getUserIp()){ $this->destructSessions(); $this->setSessionCanary(); } if($_SESSION['canary']['birth'] < time() - $this->timeCanary){ $this->setSessionCanary("Time"); } } #Setar as sessões do nosso sistema public function setSessions($Email){ $this->verifyIdSessions(); $_SESSION['Login'] = true; $_SESSION['Time'] = time(); $_SESSION['Nome'] = $this->login->getIssetSession($Email)['data']['Nome']; $_SESSION['Email'] = $this->login->getIssetSession($Email)['data']['Email']; $_SESSION['Permissoes'] = $this->login->getIssetSession($Email)['data']['Permissoes']; } #Validar as páginas internas do sistema public function verifyInsideSession(){ $this->verifyIdSessions(); if(!isset($_SESSION['Login']) || !isset($_SESSION['Permissoes']) || !isset($_SESSION['canary'])){ $this->destructSessions(); header("Location: ".DIRPAGE."NaoAutorizado"); }else{ if($_SESSION['Time'] >= time() - $this->timeSession){ $_SESSION['Time']=time(); }else{ $this->destructSessions(); header("Location: ".DIRPAGE."NaoAutorizado"); } } } #Destruir as sessions existentes public function destructSessions(){ foreach (array_keys($_SESSION) as $key) { unset($_SESSION[$key]); } } #testar public function testarSessions(){ echo 'oiiiiiiiiiiiiiiiiiiiiiiooooooooooo'; } }
×

Informação importante

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