Ir ao conteúdo
  • Cadastre-se

anonymouatour

Membro Pleno
  • Posts

    147
  • Cadastrado em

  • Última visita

Reputação

55
  1. Salve galera!! estou precisando de uma pequena orientação de como fazer funcionar o codigo a baixo no caso falta essa pequena validação de imagem no caso ao editar um produto os dados estão editando normalmente mas quando escolho outra imagem e clico em editar ela some não conseguir descobrir ainda o real problema já tem uns 12 dias sem sucesso notasse que tentei fazer dois updates um para os dados e outro para a imagem , mas boa parte do projeto que estou construindo quase terminando só falta essa parte mesmo <?php session_start(); include_once("../segurança.php"); $id = $_POST['id']; $nome = $_POST["nome"]; $descricao_curta = $_POST["descricao_curta"]; $descricao_longa = $_POST["descricao_longa"]; $preco = $_POST["preco"]; $tag = $_POST["tag"]; $description = $_POST["description"]; $categoria_id = $_POST["categoria_id"]; $situacao_id = $_POST["situacao_id"]; $imagem = $_FILES["imagem"]; if($imagem == ""){ $connection = new mysqli("localhost", "root", "root", "tcc"); $sql = $connection->query("UPDATE produtos SET nome ='$nome', descricao_curta ='$descricao_curta', descricao_longa ='$descricao_longa', preco ='$preco', tag ='$tag', description ='$description', situacao_id ='$situacao_id', categoria_id ='$categoria_id' WHERE id='$id'"); }else{ $connection = new mysqli("localhost", "root", "root", "tcc"); $sql = $connection->query("SELECT * FROM produtos WHERE id = '$id' LIMIT 1"); $linhas = $sql->fetch_assoc(); if (!empty($imagem["name"])) { if(isset($_FILES['imagem'])){ // Largura máxima em pixels $largura = 150; // Altura máxima em pixels $altura = 180; // Tamanho máximo do arquivo em bytes // $tamanho = 1000; $error = array(); // Verifica se o arquivo é uma imagem if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $imagem["type"])){ echo $error[1] = "<SCRIPT LANGUAGE='JavaScript'> window.alert('Não é uma imagem, insira os seguintes formatos: pjpeg,jpeg,png,gif,bmp ! ') window.location.href='../administrativo.php?link=11'; </SCRIPT>"; } // Pega as dimensões da imagem $dimensoes = getimagesize($imagem["tmp_name"]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { echo $error[2] = " <SCRIPT>window.alert('a largura não deve passar de 150 ') window.location.href='../administrativo.php?link=11'; </SCRIPT>"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { echo $error[3] = "<SCRIPT> window.alert('a altura não deve passar de 150 ') window.location.href='../administrativo.php?link=11'; </SCRIPT>"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido // if($imagem["size"] > $tamanho) { // $error[4] = "<SCRIPT> window.alert('a imagem deve ter tamanho 100 bytes ') //window.location.href='../administrativo.php?link=10'; //</SCRIPT>"; // } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $imagem["name"], $ext); // Gera um nome único para a imagem $novo_imagem = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde ficará a imagem $caminho_imagem = "upload/" . $novo_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($imagem["tmp_name"], $caminho_imagem); }} } $imagem = $novo_imagem; $connection = new mysqli("localhost", "root", "root", "tcc"); $sql = $connection->query("UPDATE produtos SET nome ='$nome', descricao_curta ='$descricao_curta', descricao_longa ='$descricao_longa', preco ='$preco', tag ='$tag', description ='$description', imagem = '$imagem', situacao_id ='$situacao_id', categoria_id ='$categoria_id' WHERE id='$id'"); if($sql){ echo "<SCRIPT> window.alert('Produto editado com sucesso ! ') window.location.href='../administrativo.php?link=11'; </SCRIPT>"; }else{ echo "<SCRIPT> window.alert('não cadastrado insira todos os dados corretamente!! ') window.location.href='../administrativo.php?link=11'; </SCRIPT>"; } } ?> observação estou vasculhando varios foruns e até agora não achei uma solução passível para o meu problema e alguns codigos acima achei pelos foruns e fui montando a logica sozinho ecnontrei até um que funciona normalmente e testei e editou certinho mas o problema é isso que estou tentando fazer com essas validações eu tenho o cad produto funcionando também aqui que dar uma base para esse também segue abaixo <?php session_start(); include_once("../segurança.php"); if (isset($_POST["submit"])) { $nome = $_POST["nome"]; $descricao_curta = $_POST["descricao_curta"]; $descricao_longa = $_POST["descricao_longa"]; $preco = $_POST["preco"]; $tag = $_POST["tag"]; $description = $_POST["description"]; $slug = $_POST["slug"]; $categoria_id = $_POST["categoria_id"]; $situacao_id = $_POST["situacao_id"]; $imagem = $_FILES["imagem"]; if (!empty($imagem["name"])) { // Largura máxima em pixels $largura = 150; // Altura máxima em pixels $altura = 180; // Tamanho máximo do arquivo em bytes // $tamanho = 1000; $error = array(); // Verifica se o arquivo é uma imagem if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $imagem["type"])){ $error[1] = "<SCRIPT LANGUAGE='JavaScript'> window.alert('Não é uma imagem, insira os seguintes formatos: pjpeg,jpeg,png,gif,bmp ! ') window.location.href='../administrativo.php?link=13'; </SCRIPT>"; } // Pega as dimensões da imagem $dimensoes = getimagesize($imagem["tmp_name"]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { $error[2] = " <SCRIPT>window.alert('a largura não deve passar de 150 '); </SCRIPT>"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { $error[3] = "<SCRIPT> window.alert('a altura não deve passar de 150 '); </SCRIPT>"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido // if($imagem["size"] > $tamanho) { // $error[4] = "<SCRIPT> window.alert('a imagem deve ter tamanho 100 bytes ') //window.location.href='../administrativo.php?link=10'; //</SCRIPT>"; // } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $imagem["name"], $ext); // Gera um nome único para a imagem $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde ficará a imagem $caminho_imagem = "upload/" . $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($imagem["tmp_name"], $caminho_imagem); $connection = new mysqli("localhost", "root", "root", "tcc"); $sql = $connection->query("INSERT INTO produtos ( nome,descricao_curta,descricao_longa,preco,tag,description,slug,imagem,situacao_id,categoria_id) VALUES('$nome','$descricao_curta','$descricao_longa','$preco','$tag','$description','$slug','$nome_imagem','$situacao_id','$categoria_id')"); if ($sql!=0){ echo "<SCRIPT> window.alert('Produto cadastrado com sucesso!! ') window.location.href='../administrativo.php?link=11'; </SCRIPT>"; } else { echo "<SCRIPT> window.alert('não cadastrado insira todos os dados corretamente!! ') window.location.href='../administrativo.php?link=10'; </SCRIPT>"; } } } } ?>
  2. galera estou querendo desenvolver um projetinho de cadastro telefonico mas estou tendo dificuldades em algumas partes do projeto já desenvolvir o sistema de login e tudo mais , assim como a telinha do usuario logado , mas estou querendo fazer com que o cadastro tanto quanto nome, telefone , email quando eu salva-los ele se transforma em um aquivo CSV e também ele é lido também eu entendi um pouco do conceito da leitura fiz até esse codigo abaixo na ajuda de videos aulas por ai como estas abaixo /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package projetocsv; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; /** * * @author andre */ public class Projetocsv { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here //passa o paramtro no caso aqui vai ler o arquivo depois coloca o try cathc File arquivoCSV = new File ("c:\\clientes.csv"); try{ //depois quando leu vamos jogar cada linha em uma string String LinhasDoArquivo = new String(); //vamos criar um scanner agora ele que vai ler o arquvo Scanner leitor = new Scanner(arquivoCSV); //agora que temos o leioto vamos falar que a gente quer todas as linas //ffazer pular a primeira linha kk //leitor.nextLine(); while(leitor.hasNext()){ //usa esse metodo hasnext ele vai percorrer cada linda no while //depois quando leu vamos jogar cada linha em uma string //a cada linha vamos chmar o nextline encontrar joga dentro da strin linhasdoaquivo LinhasDoArquivo = leitor.nextLine(); System.out.println(LinhasDoArquivo); } }catch(FileNotFoundException e){ } } } mas não tenho ideia de como vou conseguir aplicar no projeto tanto a leitura quanto a saida dos dados o user quando estiver logado ele vai digitar nome, telefone , email e esse arquivo csv sera gerado e o mesmo depois terar que ser lido a minha maior dificuldade é como vou conseguir colocar esse codigo dentro meu servlet import java.io.IOException; import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Manter extends HttpServlet { ArrayList listaPessoa = new ArrayList<Pessoa>(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletOutputStream out = response.getOutputStream(); response.setContentType("text/html"); out.println("<html><head><title>Lista de Contatos</title></head>"); out.println("<body><ul>"); for (Object lista : listaPessoa) { Pessoa p = (Pessoa)lista; //converter em pessoa novamente out.println("<li>"); out.println("Nome:" + p.getNome() + "<br>"); out.println("Telefone:" + p.getTelefone() + "<br>"); out.println("E-mail:" + p.getEmail() + "<br>"); out.println("</li>"); out.println("<hr>"); } out.println("</ul></body></html>"); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Captura dados do formulário String nome = request.getParameter("nome"); String telefone = request.getParameter("telefone"); String email = request.getParameter("email"); //Criar objeto Pessoa p = new Pessoa(nome, email, telefone); //Adicionar na lista listaPessoa.add(p); //Redirecionamento RequestDispatcher rs = request.getRequestDispatcher("Sucesso.html"); rs.forward(request, response); } } no caso um servlet com array list eu ja criei o html e tudo bonitinho também onde tem o formulario com campos nome email e telefone assim como ja instanciei alguem poderia me orienta? obrigado
  3. Olá galera estou tendo problema em usar o banco de dados no netbeans sempre quando tento conectar aparece esse erro mas o mysql eu vi e estas funcionando de boa a mensagem que a aprece é essa
  4. Tentei analisar mas viajei man na maionese não entendi kkkna parte recursiva bagunçou minha cabeça mas estou seguindo o que ela diz no início é mais a parte recursiva e por diante que embolei
  5. Então amigo eu seguir alguns procedimentos conseguir fazer só a metade do lado esquerdo a do direito embolei Olha o meu passo que tinha feito A= [5,3,2,4,6,10,9,1,7,8] Cores = Esquerdo, Direito , Pivô 5<6 ? Sim A= [5,3,2,4,6,10,9,1,7,8] 3 <6 ? Sim A= [5,3,2,4,6,10,9,1,7,8] 2 < 6 ? Sim A= [5,3,2,4,6,10,9,1,7,8] 4<6 ?sim A= [5,3,2,4,6,10,9,1,7,8] 6< 6 Agora foi para o outro lado porque 6 não é menor que 6 é igual A= [5,3,2,4,6,10,9,1,7,8] 8>6? sim A= [5,3,2,4,6,10,9,1,7,8] 7>6?sim A= [5,3,2,4,6,10,9,1,7,8] 1>6? não então troca com 6 A= [5,3,2,4,1,10,9,6,7,8] ai eu dividir no meio [5,3,2,4,1] [10,9,6,7,8] Conseguir resolver a parte esquerda mas a direita não [5,3,2,4,1] 5<2? não passa para o lado direito 1>2?não então troca o 5 e o 1 [1,3,2,4,5] [1,3,2,4,5] 3<2 ?não 4>2 ?sim [1,3,2,4,5] 3<2? não então troca [1,2,3,4,5] sendo assim essa parte está ordenada, só não conseguir ordenar a outra adicionado 6 minutos depois Olha o conflito que deu 10 9 6 7 8 pivo é o 6 10 esquerdo 8 direito 10,6?não então passa para o lado direito 8>6? sim anda para o numero 7 7>6? sim anda para o 6 6>6? não é igual então troca com o 10 6,9,10,7,8 6<10?sim 9<10sim? 10<10?não ai me complicou essa parte não entendi mais nada
  6. Então no caso eu precisaria fazer comparação com o lado direito ou dividir em duas partes? adicionado 0 minutos depois Visto que o lado esquerdo "está ordernado" adicionado 1 minuto depois E depois junte novamente adicionado 37 minutos depois Porque também vi que está faltando o 1 se ele tivesse ali seria mais fácil jjj adicionado 37 minutos depois No lado esquerdo jj
  7. Olá amigos passei o dia todo procurando tutoriais sobre esse algoritmo mas não código e sim como ele funciona tipo o rastreio dele mas cheguei a fazer o rastreio dessa maneira [5,3,2,4,6,10,9,1,7,8] dado esse vetor desordendo para ordena-lo fiz assim 10/2 = 5 a quinta posicção seria o meu pivo que no caso seria o valor 6 . e os primeiros da esquerda 5 e da direita 8, fui fazendo a comparação com os da esquerda e todos são menores então não entendi como vou fazer agora nao estou pedindo a resposta por favor mas sim que me oriente nessa parte para eu conseguir fazer dsde já obrigado.pois se o numero 1 tivesse já ali dava pra dividir vetor em duas partes e ia comparado o problema foi esse
  8. Galerinha pintou um problema aqui quando estava estudando Activitys, no caso quando fui criar uma segunda para da primeira navegar na segunda, aconteceu que a segunda ficou com mesmo nome da Activivy primeira e criei com mesmo layout e nada ... abaixo o passo a passo que fiz adicionado 22 minutos depois importei import android.os.Bundle; e saiu o vermelho mas o problema é o nome dessa activity que está o mesmo da primeira deveria ser o nome da segunda activity
  9. ele disse que é inserção professor é doido man na verdade só queria saber mesmo o funcionamento dele ajudou bastante man
  10. @Simon Viegas é mais uma questão de concurso publico que achei na net e parei pra esutdar ela mas n entendi como funciona algumas partes do pseudocodigo vamos dizer assim adicionado 1 minuto depois ele me disse que não está ordendando apenas trocando isso que fiquei confuso porque ele parece o buble como você falou
  11. esse algoritmo cheguei a falar com professor q parecia o bolha, mas n é ele entendo como está funcionando só nessa parte mesmo que queria tentar entender com funciona essa parte mesmo posi a questão está praticamente pronta ,esse pedaço do programa q n entendi mt mas entendo o que você diz estou querendo aprender mesmo
  12. esse algoritmo eu analisei e vi que é de troca mas n ordena só troca, mas fique na dúvida no código dele como comentei sobre ele abaixo; No pseudo-código, podemos ver duas estruturas de repetição (linha 03 e 10). O primeiro controla a variável x, a variável que indica qual posição está sendo analisada. O segundo controla a variável x[i+1] que faz a procura de um valor que possa ser substituído, que neste caso (troca). ou seja , são quaisquer números que sejam menores que o número da posição x. Note que o valor de x[i+1]sempre será maior que o x, isso porque todas as posições anteriores de x já estarão com seus valores encontrado. como mencionado anteriormente, neste caso é que se o número que está na posição x for menor que o número da posição x[i+1] então esses números deve ser trocados. Para realizar a troca, precisaremos de uma variável auxiliar (aux) para armazenar temporariamente o valor que está na posição x. Uma vez feito isso, podemos sobrescrever a posição x com o valor da posição x[i+1]. Por último, sobrescrevemos a posição x[i+1]para guardar o valor que está na variável auxiliar, efetuando a troca de posição. No caso não sei se essas duas estruturas de repetição estão certas descritas e a parte quando ele compara 1. algoritmo 2. declare X[10], n, i, aux, flag numérico 3. para i ← 1 até 10 faça 4. leia X 5. n ← 1 6. flag ← 1 7. enquanto (n ≤ 10 E flag = 1) faça 8. inicio 9. flag ← 0 10. para i ← 1 até 9 faça 11. inicio 12. se (X < X[i+1]) então 13. inicio 14. flag ← 1 15. aux ← X 16. X ← X[i+1] 17. X[i+1] ← aux 18. fim_se 19. fim_para 20. n ← n + 1 21. fim_enquanto 22. para i ← 1 até 10 faça 23. escreva X 24. fim_algoritmo
  13. então é porque meu professor está passando a aula meio que uma forma fácil de entender o conceito de visibilidade ele ainda vai explicar sobre os metodos gettes e settes como você disse n qr dizer q esta certo dessa forma é só para eu pegar a prendizagem mesmo como vai funcioanr o private o protected e o public entende tipo ele explico sobre a UML que quando tiver o modelo de classe o( + é public )(- private) e a( # será o protected) tipo quando tiver um diagrama para fazer Classe caneta + cor: + marca: ----------------- # rabiscar() - escrever() ai transferindo para a POO cor é public , public marca , , protected rabiscar, e private escreve só para saber raciocinar mais ou menos sei q você entende da linguagem mas eu só queria te passar como esta funcionando a explicação dele, ele ainda n falou dos metodos gettes e stters provalvemente ira falar na proxima aula e ele vai explicar como resolver isso ??M adicionado 0 minutos depois vou fazer isto depoi respondo aqui vls pela ajuda forte abraço
  14. Olá galera, estava montando um pequeno programinha para treinar POO até ai tudo bem mas não estou conseguindo instanciar ... quando coloquei os modificadores de acesso public, private etc quando vou colocar o programa para funcionar fica tudo valor null, ou 0.0 e por ai vai que são os valores pra preencher os atributos que estaciei não sei se pode ser problema no meu netbeans ou algum erro na programação classe para instanciar package aula02; public class Aula02 { /** * @param args the command line arguments */ public static void main(String[] args) { //main esta utilizando o objeto principal ele vai deixar usar av //visibilidade protegida por causa do main // TODO code application logic here Caneta c1 = new Caneta(); //instanciando a classe Caneta, colocar a Classe na frente sempre c1.status(); //nao tem nada definico o passo 1 modelo null ponta 0.0 etc c1.modelo = "Bic cristal"; c1.cor = "Azul"; // c1.ponta = 0.5f; //c1.tampada = false; c1.carga = 80; c1.rabiscar(); c1.destampar(); } } classe principal package aula02; /** * * @author saopa */ public class Caneta { public String modelo; //começar a definir as visisibilidades dos atributos´public,private,protegido public String cor; private float ponta; protected int carga; private boolean tampada; public void status (){ System.out.println("Modelo;" + this.modelo); System.out.println("Uma caneta" + this.cor); System.out.println("Ponta" + this.ponta); System.out.println("Carga"+ this.carga); System.out.println("Está tampada?" + this.tampada); }//objeto status para mostrar o estado para mostrar a cor no caso coloca o atributo cor //para referenciar melhor coloca this que significa alto referencia //sendo assim posso fazer um sistem pra todos atributos de cima public void rabiscar(){ //os metodos if(this.tampada== true){ //se a caneta estiver tampada else senao System.out.println("Erro, não posso rabiscar"); } else{ System.out.println("estou rabiscando"); } } public void tampar(){ this.tampada = true; //c1 chamou o tampada this } public void destampar(){ this.tampada = false; } }
  15. conseguir instalar usando o Windows 10 em formato iso

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