Ir ao conteúdo
  • Cadastre-se

DiF

Moderador
  • Posts

    14.155
  • Cadastrado em

  • Última visita

Tudo que DiF postou

  1. @Lipeco Isso por que você passou de forma errada o parâmetro no link do botão de avaliar e também na outra página de avaliação, você fez uma consulta na tabela de forma geral e não baseada no id do usuário. Altere esta linha no arquivo que lista os usuários para avaliar: <td><a href="avaliar_colaborador.php?id_colaboradores=$_GET['id_colaboradores']" type="submit" para: <td><a href="avaliar_colaborador.php?id_colaboradores=<?php echo $id_colaboradores; ?>" type="submit" Isso por que a tabela está fora do php, então você precisa abrir e fechar as tags do php dentro do link e colocar o echo na frente da variável com o valor ID para passar como GET na URL. Na página de avaliação, você precisa resgatar o valor ID passado pela URL desta forma: <?php //recebe o valor id vindo da URL $ID = $_GET["id_colaboradores"]; //consultar no banco de dados $result_usuario = "SELECT * FROM colaboradores WHERE ID = $ID"; $resultado_usuario = mysqli_query($mysqli, $result_usuario); Assumindo que o nome do campo de chave primária da tabela de é ID Dessa forma, você pega os dados específicos do usuário em questão que está avaliando
  2. @vitxr A única forma de fazer isso é implementar o ajax. Recomendo fazer isso com o jQuery, pois é muito mais prático e tem funções especificas para isso.. por exemplo a função $.ajax() Onde nessa função, você insere parâmetros como, url, tipo de arquivo enviado e etc... além disso tem duas funções que podem ser encadeadas com ele que é .done() e .fail() onde cada uma respectivamente funciona para mostrar no modal quando tiver sucesso ou mostrar um erro quando falhar. Exemplo: No HTML, você insere dinamicamente com o php o valor ID do usuário no atributo "data" no elemento de link ou no elemento que você use como "botão" Nesse exemplo usei um link... mas pode ser qualquer outro. <ul> <li>Fulano <a href="#" class="btn" data-id="1"><span> Visualizar</span></a> </li> <li>Beltrano <a href="#" class="btn" data-id="2"><span> Visualizar</span></a> </li> <li>Ciclano <a href="#" class="btn" data-id="3"><span> Visualizar</span></a> </li> </ul> let btn = $("#btn_visualizar"); btn.on("click", function(){ let id = $(this).attr("data-id"); $.ajax({ url: "visualizar.php", method: "GET", dataType: "HTML", data: {id: id} }).done(function(retorno){ $("#modal").html(retorno); }).fail(function(retorno){ $("#modal").html(retorno); }); }); Basicamente, ao clicar no botão visualizar, que está atribuido ao elemento de link <a>, ele vai pegar o valot do "data-id" e então vai passar via GET, para o arquivo visualizar.php. Lá você vai fazer toda a query para pegar os dados na tabela do banco de dados.. baseado no valor ID do usuário.. e então inserir no seu modal. No arquivo visualizar.php, você monta o jeito de como vai ser mostrado dentro do modal.
  3. @Lipeco Não esqueça que para funcionar o jeito que você quer avaliar, pelo seu código, você deve passar o valor ID do usuário via URL em get. Então o trecho deve ser algo assim: <?php while($row_usuario = mysqli_fetch_assoc($resultado)){ $id = $row_usuario["ID"]; ?> <tr> <th><?php echo $row_usuario['nome']; ?></th> <td><?php echo $row_usuario['sobrenome']; ?></td> <td><button onclick="window.location.href = 'avaliacao.php?id=<?php echo $id; ?>'" type="button" class="btn btn-success m-2">AVALIAR</button></td> </tr> <?php E então no seu arquivo avaliacao.php, receber este ID com $id = $_GET["ID"];
  4. @Lipeco Sempre crie uma tabela separada, que faça relacionamento de 1:N com a tabela mandante. Isso garante a integridade e ainda colocar pelo menos na 1 NF(normas formais) de banco de dados. Basicamente, na sua tabela de avaliação crie um índice(index) para o campo ID_usuario que servirá de chave estrangeira. Daí na aba de designer(desenhador se for em português) no phpmyadmin, faça o relacionamento de 1:N entre a tabela usuario e avaliacao. Onde na tabela usuario o campo ID, se ligará com o campo ID_usuario na tabela de avaliação. Exemplo: Repare na imagem, Clicando no nome do banco de dados (primeira seta vermelha da esquerda), vai habilitar a aba "Desenhador" Clicando nele, vai abrir essa tela com as tabelas. Você vai clicar no oitavo ícone de cima para baixo, do menu que esta na vertical ali do lado esquedo, é um icone de "ligamento". Depois de clicar nele, você vai clicar no campo ID da sua tabela mandante(usuário) e em seguida, no campo ID_usuario na sua tabela de avaliação. Se você tiver criado o índice, você terá feito o relacionamento corretamente, se aparecer uma janela perguntando duas ou mais opções, escolha a opção que permita deletar um registro, somente se na outra tabela não houver registro. isso garantirá que você delete por engano um usuário, caso ele tenha uma avaliação, sem antes, deletar primeiro a avaliação. Feito o relacionamento corretamente, você poderá inserir na tabela de avaliação o valor ID desse usuário, a nota e a mensagem para ele. Quando ele for logar, no perfil dele, você pode fazer uma query na tabela de avaliação pegando a nota dele e a mensagem e mostrar na tela para ele ler.
  5. @Lipeco Basicamente é como o colega disse. Evite de guardar imagens no banco de dados, pois só vai consumir espaço e banda pra fazer a query. Faça o upload da imagem para um diretório no servidor, e no banco de dado guarde a referência com o nome dela... daí na query, você puxa o nome da imagem, e monta o caminho no php... por exemplo Vamos supor que guardou a imagem assim: ID nome fotoPerfil 1 Fulano foto.png E no servidor você guardou a imagem no diretório "img". Você faria assim: <?php $id = $_SESSION["usuario_ID"]; $query = mysqli_query($conexao, "SELECT fotoPerfil FROM usuario WHERE id = $id"); $dados = mysqli_fetch_object($query); $fotoPerfil = "img/" . $dados->fotoPerfil; ?> <img class="rounded-circle" src="<?php echo $fotoPerfil ?>" alt="" style="width: 40px; height: 40px;">
  6. @Gabriel Meira22 Nunca use programas piratas, isso vai colocar seu computador em risco. Existe um programa muito similar ao Office, chamado FreeOffice. Ele é exatamente igual ao office, possui word, powerpoint, excel... e é completamente gratuito. Eu uso ele e gosto bastante. Basicamente, baixe ele, e peça a chave de ativação no seu e-mail, é completamente gratuito e supre tudo que o word faz.
  7. @Lipeco Sim, você pode fazer isso. No php quando você recebe um dado, você faz uma verificação no banco de dados com a clausula OR. Mas nesse caso, é interessante que você transforme o email e o numero de matricula em chaves primárias, formando uma chave primária compostas ou transformar pelo menos o numero de matricula em uma Chave candidata. No php, você pode usar a estrutura de switch case... onde você testa o tipo de dado vindo do formulário... se for um email, você faz um select baseado no email, se for um número, faz o select baseado no numero. Por exemplo: <?php $dados = "[email protected]"; switch ($dados) { case is_numeric($dados): echo "é um número"; break; case filter_var($dados, FILTER_VALIDATE_EMAIL): echo "É um e-mail"; break; default: echo "O valor é inválido"; } A estrutura ali em cima faz esse teste. No caso, ele diria que é um e-mail. no lugar do echo, você faria a estrutura do seu select... algo do tipo: <?php $dados = $_POST["login"]; $senha = $_POST["senha"]; switch ($dados) { case is_numeric($dados): $query = mysqli_query($conexao, "SELECT matricula, senha FROM cadastro WHERE matricula = $dados AND senha = $senha"); // todo o resto da estrutura de login break; case filter_var($dados, FILTER_VALIDATE_EMAIL): $query = mysqli_query($conexao, "SELECT email, senha FROM cadastro WHERE matricula = $dados AND senha = $senha"); //todo o resto da estrutura de login break; default: echo "O valor é inválido"; } Basicamente é isso. Bem simples.
  8. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware
  9. Senhores, só levem em conta, que se forem comprar da "China" como falaram, tenham em mente que são placas usadas em mineração de criptomoedas. O preço é atrativo, mas ela foi usada por esse propósito.. então pensem bem antes de comprar qualquer placa "barata" de lá.
  10. Warhammer: vermintide 2 está de graça na steam. Adicione na sua biblioteca permanentemente. Resgate até dia 11 de novembro. https://store.steampowered.com/app/552500/Warhammer_Vermintide_2/ DLC gratuita - https://store.steampowered.com/app/1601550/Warhammer_Vermintide_2__Chaos_Wastes/ Dia 8 de novembro, será lançada mais uma DLC gratuita chamada de Trail of Treachery.
  11. Caros usuários, este é o tópico mensal que deverá ser usado para discutir promoções de jogos, o que inclui descontos e produtos gratuitos por tempo limitado, em todas as plataformas e distribuidoras. De forma a garantir a organização, por favor mantenham o foco nas promoções, sendo as dúvidas paralelas direcionadas para tópicos próprios. Este tópico será trancado no dia 30/11/2022, sendo criado e destacado novo tópico para o próximo mês. Tópico do mês anterior:
  12. Atrapalha não. Se você ver cuidadosamente, há passagens de ar na lateral no painel frontal. é exatamente o mesmo que o meu gabinete, é só alguns centimetros, mas o ar passa muito bem por ali. no meu gabinete ainda possuo apenas 1 fan na frente e as temperaturas aqui estão todas normalizadas, inclusive, tenho 1 na frente e um atras apenas, e mesmo assim não tenho problemas de temperaturas. Aqui na minha região quando fica verão, é extremamente quente, meu gabinete anterior, a lataria de tras chegava a ficar quente com o processador, com esse novo gabinete não, porque o fluxo de ar foi projetado melhor. Bom, eu sugiro não ficar mexendo nas coisas que os especialistas projetaram né... rsrs se eles fizeram dessa forma, certamente passou por testes, senão nem colocavam no mercado. Mas a escolha é sua. Na minha opinião o ideal é priorizar o fluxo negativo, ou seja, adicionar mais exaustores do que injetores.. por exemplo 1 fan atras, e dois em cima.. Lembrando que é apenas a minha opinião, retirar o ar quente é mais eficiente do que jogar ar frio pra dentro.
  13. @lndr Todo gabinete é projetado para ter um fluxo de ar. Se remover a tampa frontal, ou a lateral, vai prejudicar a circulação de ar, impedindo de ela fluir como foi projetada. Meu gabinete é similar, só não possui uma tampa de vidro na frente, é de plástico, mas é similar, onde só tem uma abertura nas laterais para puxar o ar pro fan jogar para dentro. é pela fresta entre a tampa de vidro na frente que o ar passa. Concordo com o colega, melhor deixar a tampa.
  14. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware
  15. @tiagopraz Acredito que você não precisa do form, para enviar dados pelo ajax. Basta pegar o valor dos campos, e enviar... mas de fato é bem mais fácil se você adicionar a tag form no modal que tem os campos.. Por exemplo, sem form: let btn = $("#btn_enviar"); btn.on("click", function({ let tipo = $("#type").text(); let empregado = $("#employee").text(); let msg = $("#message").text(); $.ajax({ url: "envia.php", method: "POST", dataType: "HTML", data: {tipo: tipo, employee: empregado, menssage: message} }).done(function(retorno){ //aqui você coloca mensagem de envio }).fail(function(retorno){ //aqui você coloca mensagem de erro }); Mas se você adicionar o form no seu modal, você faz inserir os dados em um input, sem bordas.. parecendo que está ali sem ser em um input... dai você pega com ".val() " os dados... E se tiver um form.. fica mais simples porque você só precisa pegar o valor total do form e colocar em uma variavel com serialize... dessa forma: <form> <span id="type"><input type="text" name="tipo" value="" /></span> <span id="message"><input type="text" name="message" value="" /></span> <span id="time"><input type="text" name="time" value="" /></span> <span id="jobposition" style="display:none"><input type="text" name="employee" value="" /></span> <span id="company" style="display:none"></span> </form> let dados = $("form").serialize(); usando o serialize.. iria gerar a seguinte url: tipo=valor&message=valor&time=valor&employee=valor ai é só separar no php... e montar seu envio para o email.
  16. @bela1000 Por gentileza, poste seu código. Apenas com esse fragmento não tem muito o que falar. Mas basicamente, se está recebendo o erro de notice:Undefined variable, definitivamente a variável esperada está sem valor algum. Pelo que você postou ali na linha, você tem essa tag em HTML e o php inserida nela.. nesse caso você precisa colocar o echo e as tags de abertura e fechamendo do php. exemplo: <a href="prog.php?codigo=<?php echo $row['Codigo']; ?>"> Dessa forma, vai ser passado pela URL o valor que da variável. Na página onde você resgata deve estar com: $id = $_GET["codigo"];
  17. @Pedrockz verifique se o arquivo descrito existe. Caso exista, verifique de deu as devidas permissões de leitura. No linux, é normal que se não definir as permissões o arquivo é considerado inexistente, pois ele não consegue acessar o diretório.
  18. @xrogerinho Exatamente. No caso de querer escapar algum caractere especial.. você pode implementar o preg_quote Exemplo: $chars = preg_quote( '~`!@#$%^&*()_-+={}[]|:;&lt;&gt;.?/\\\\', '#' ); $regex = "#[$chars]+#"; Não sei se isso realmente funciona, pois nunca utilizei. Geralmente não permito caracteres especiais.. mas sei que tem alguns sites que exigem que coloque pelo menos um na senaha como " ! " por exemplo
  19. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware
  20. @xrogerinho Tem N formas de previnir SQL injection... Por exemplo utilizando o preg_replace do php.... Exemplo: $loginSeguro = preg_replace('/[^[:alpha:]_]/', '',$login); $senhaSegura = preg_replace('/[^[:alnum:]_]/', '',$senha); Ambos usam expressões regulares, onde o [:alpha:] é a mesma coisa que [a-zA-Z] e [:alnum:] é a mesma coisa que [a-zA-Z0-9] Basicamente remove a possibilidade de colocar o " OR ‘ 1=’1 " Outro método é utilizar o PDO.. O PDO utiliza "prepared statements" na formação das queries. Nada mais é que um template que irá ajudar a escrever uma instrução. Por que isso ajuda a prevenir ataques de injeção de SQL? Como é um “template”, a estrutura nos permite saber onde exatamente irão entrar os valores para as nossas queries.
  21. @William Omar Olá, não tenho intimidade com sockets nem node.js.... Mas eplo que vejo TALVEZ o problema seja no parâmetro que você está tentando passar... Tenta passar um parâmetro com apenas uma palavra, sem espaços. socket.on("atualizarMensagens", function(mensagem){ e socket.emit("enviarMensagem", optionValue); Talvez também tenha que criar alguma função para pegar o audio e tocar... enfim Tem um vídeo que mostra mais ou menos isso que talvez possa ser um norte para você
  22. @Alice Braga Basicamente, você não deve colocar a imagem na tabela do banco de dados, apenas o nome do arquivo da imagem. No caso, quando for buscar a imagem para mostrar em tela, você pega o nome do arquivo na tabela do banco de dados e monta a url.. por exemplo vamos supor que a imagem ficou com nome de "avatar.png " na tabela do banco de dados.. Ai é só fazer o select então concatenar com a url da pasta onde salvou a imagem Vamos supor que você salvou a imagem no diretorio img no servidor.. $caminho = "img/"; $selecionar = mysqli_query($conexao, "Select imagem from usuario"); $dados = mysqli_fetch_object($selecionar); $imagem = $dados->imagem; $img = $caminho . $imagem; echo "<div class='avatar'> <img src='$img'/> </div>";
  23. @walison de sousa costa Então, você só postou o enunciado. Não tem dúvidas e nem tentativas de resolução. Nenhum usuário poderá postar código ou dar alguma informação, se você não tentar fazer algo. E como você disse é uma atividade normal da faculdade, então é normal que VOCÊ tente fazer. Tenta e posta seus códigos aqui. Mesmo que se estiver errado, alguém poderá lhe dar sugestões de correção.
  24. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware

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...