Hamilcar 1 Denunciar post Postado Dezembro 8, 2006 Pessoal é o seguinte, este sistema faz o cadastro(incluir, excluir e alterar) de notícias, as notícias podem ser vinculadas a uma ou mais imagens, sendo o sistema configurado para upload de até quatro imagens, para incluir notícias no sistema você pode enviar uma notícia sem vínculo a nenhuma imagem, podendo configurar no sistema se esta notícia será vinculada a uma imagem default ou não, pode também enviar uma notícia vinculada a uma ou mais imagens, e pode optar por enviar somente imagem, sem notícia vinculada. O sistema utiliza ajax sendo usada função ajaxGet de Micox, um de nossos prestigiados colaboradores no fórum. Algumas funções do sistema foram baseadas em posts aqui do fórum. Não foi testado um total máximo de imagens que o sistema envia com segurança. Foi testado no IE e FF. link para baixar arquivos DEMO Compartilhar este post Link para o post Compartilhar em outros sites
leandroauler 0 Denunciar post Postado Dezembro 20, 2006 O link do download esta quebrado... Pessoal é o seguinte, este sistema faz o cadastro(incluir, excluir e alterar) de notícias, as notícias podem ser vinculadas a uma ou mais imagens, sendo o sistema configurado para upload de até quatro imagens, para incluir notícias no sistema você pode enviar uma notícia sem vínculo a nenhuma imagem, podendo configurar no sistema se esta notícia será vinculada a uma imagem default ou não, pode também enviar uma notícia vinculada a uma ou mais imagens, e pode optar por enviar somente imagem, sem notícia vinculada. O sistema utiliza ajax sendo usada função ajaxGet de Micox, um de nossos prestigiados colaboradores no fórum. Algumas funções do sistema foram baseadas em posts aqui do fórum. Não foi testado um total máximo de imagens que o sistema envia com segurança. Foi testado no IE e FF. Possíveis atualizações para o sistema : 1 - Paginação para o script listar.php 2 - Alteração também para imagem vinculada a uma notícia 3 - Excluir também a imagem que esteja vinculada a notícia excluída, caso esta imagem não tenha vínculo a nenhuma outra do banco de dados. 4 - Listar imagens do servidor incluindo opções para deletar uma imagem caso esta não tenha mais vínculo com nenhuma notícia. 5 - Colocar opção para escolha de imagens do servidor. 6 - Página para apresentação das notícias Enviem críticas e sugestões. ================================ Editado - 08/12/2006 Valeu pessoal, dica de sqlinjection atualizado. ================================ ================================ Editado - 13/12/2006 Paginação Simples incluída no sistema. ================================ Sistema em funcionamento Baixar sistema Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 21, 2006 O link do download esta quebrado... Not Found Poste os scripts aqui, colocando-os dentro dos famosos codeboxes, para que não haja problemas assim futuramente. ;) []'s Compartilhar este post Link para o post Compartilhar em outros sites
Hamilcar 1 Denunciar post Postado Dezembro 21, 2006 O link do download esta quebrado... Not Found Poste os scripts aqui, colocando-os dentro dos famosos codeboxes, para que não haja problemas assim futuramente. ;) []'s Desculpem pessoal, o problema não é de link quebrado não, é porque é host gratuito e eles redirecionam o link, mas estou colocando os arquivos aqui no post, para no caso de não conseguirem pelo link, copiarem, abraços a todos. Compartilhar este post Link para o post Compartilhar em outros sites
Emerson Alencar 0 Denunciar post Postado Dezembro 27, 2006 Excelente Post!!! Testei e funcionou perfeitamente. Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 6, 2007 GALERA, ESTOU UTILIZANDO ESSE EXEMPLO QUE ME ATENDEU PERFEITAMENTE!!!!PORÉM PRECISO SABER COMO FAÇO PARA IMPLANTAR A VISUALIZAÇÃO DOS DADOS NA MINHA PÁGINA PRINCIPAL PARA ESSE EXEMPLO....URGENTE!!!!!!!!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Geison GM 0 Denunciar post Postado Maio 6, 2007 O link dos arquivos esta quebrado (http://hcar.freehostia.com/uploadImage/downloads/down.php?down=uploadImage.zip)Será que teria como disponibilizar outro link para download?Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Hamilcar 1 Denunciar post Postado Maio 7, 2007 O link dos arquivos esta quebrado (http://hcar.freehostia.com/uploadImage/downloads/down.php?down=uploadImage.zip)Será que teria como disponibilizar outro link para download?Valeu!Acabo de testar este link e funcionou, copie o link e coloque no browser diretamente, não sei o porque disto, mas se você clicar nele, talvez seja redirecionado a outra página, se colocar o link no browser diretamente, vai para a página correta.http://hcar.prophp.org/uploadImage.zip Compartilhar este post Link para o post Compartilhar em outros sites
ecotuba 0 Denunciar post Postado Maio 9, 2007 HcarShow o material, mas tenho umas dúvidas e se puder me ajudar fico muito grato:1ª - Como ficaria o script sem o ajax, é possível? ainda não conheço bem e não queria usar sem entender o que ele faz:2ª - No caso de usar ajax, os servidores precisam ter suporte diferente p isso, como q rola?Bem é isso, ja se puder responder fico grato.Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Geison GM 0 Denunciar post Postado Maio 25, 2007 Opa!Tá funfanfo aqui, mas onde as notícias ficam postadas?Tipo, em qual page elas ficam para coloca-las em exposição no site? Compartilhar este post Link para o post Compartilhar em outros sites
Tony Oliveira 0 Denunciar post Postado Agosto 16, 2007 E seria possivel postar os arquivos noticia.php e noticiario.php? Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Setembro 14, 2007 Olá, como vai amigo?Estou usando o sistema de administração de notícias que postou no laboratório.Estou encontrando uma dificuldade e queria saber se pode me ajudar...Quando clico para alterar uma notícia, aparecem os campos para alterar, altero os dados que quero e depois clico no botão alterar....Acontece que depois disso, aparece uma mensagem:"Falha no carregamento. 404: Não foi encontrada a URL solicitada"Estou tentando achar onde pode estar o erro mas não estou conseguindo...você tem idéia do que pode ser?Abraço, Compartilhar este post Link para o post Compartilhar em outros sites
Hamilcar 1 Denunciar post Postado Setembro 14, 2007 Olá, como vai amigo?Estou usando o sistema de administração de notícias que postou no laboratório.Estou encontrando uma dificuldade e queria saber se pode me ajudar...Quando clico para alterar uma notícia, aparecem os campos para alterar, altero os dados que quero e depois clico no botão alterar....Acontece que depois disso, aparece uma mensagem:"Falha no carregamento. 404: Não foi encontrada a URL solicitada"Estou tentando achar onde pode estar o erro mas não estou conseguindo...você tem idéia do que pode ser?Abraço,Deve ser justamente o que o erro diz ("Não foi encontrada a URL solicitada"), você deve verificar a url que está sendo chamada e se ela esta correta, poste o código para analisarmos, especificamente a função "validaform2" do arquivo "upload.js". Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 16, 2007 Segue... Esse é o arquivo alterar.php <?php // Headers header("Content-Type: text/html; charset=ISO-8859-1", true); ?> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <?php /****** * Créditos - Fábio - www.imasters.com * *******/ function anti_injection($sql) { // remove palavras que contenham sintaxe sql $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql); $sql = trim($sql);//limpa espaços vazio $sql = strip_tags($sql);//tira tags html e php $sql = addslashes($sql);//Adiciona barras invertidas a uma string return $sql; } /****** * Fim Créditos - Fábio - www.imasters.com * *******/ /****** * * Créditos: hcar - Hamilcar Antônio Vieira da Silva - hcar_1@yahoo.com.br * * Alterar informações das notícias na base de dados * * ******/ function invertData($data) { $data_mysql = explode(" ", $data); $data_mysql1 = implode("/", array_reverse(explode("-", $data_mysql[0]))); return ($data_mysql1 . " " . $data_mysql[1]); } require_once('include/configBd.php'); mysql_select_db($db['database'], $db['con']); if(isset($_GET['passo']) && isset($_GET['id'])) { $id = anti_injection($_GET['id']); if((anti_injection($_GET['passo'])) == 1) { $selectIdSQL = "SELECT * FROM (`produtos`) WHERE `id`='$id'"; $selectId = mysql_query($selectIdSQL, $db['con']) or die(mysql_error()); $row = mysql_fetch_assoc($selectId); ?> <form id="form_alterar" name="form_alterar"> <label class="titulo">Categoria</label> <br/> <input name="categoria" type="text" id="categoria" value="<?php echo($row['categoria']); ?>" size="60"/> <br/> <br/> <label class="titulo">Título</label> <br/> <input name="titulo" type="text" id="titulo" value="<?php echo($row['titulo']); ?>" size="60" /> <br /> <br /> <label class="titulo">Fabricante</label> <br/> <input name="fabricante" type="text" id="fabricante" value="<?php echo($row['fabricante']); ?>" size="60" /> <br /> <br /> <label class="titulo">Marca</label> <br/> <input name="marca" type="text" id="marca" value="<?php echo($row['marca']); ?>" size="60" /> <br /> <br /> <label class="titulo">Modelo</label> <br/> <input name="modelo" type="text" id="modelo" value="<?php echo($row['modelo']); ?>" size="60" /> <br/> <br/> <label class="titulo">Descrição</label> <br/> <textarea name="descricao" cols="58" rows="4" id="descricao"><?php echo($row['descricao']); ?></textarea> <br /> <br /> <label class="titulo">Observações</label> <br/> <textarea name="observacoes" cols="58" rows="4" id="observacoes"><?php echo($row['observacoes']); ?></textarea> <br /> <br /> <label class="titulo">Valor Unitário </label> <br/> <input name="valorunitario" type="text" id="valorunitario" value="<?php echo($row['valorunitario']); ?>" size="40" /> <br/> <br/> <label class="titulo">Data</label><br/> <input name="data" type="text" size="30" readonly="readonly" value="<?php echo(invertData($row['data'])); ?>"/> <br /> <br /> <label class="titulo">Está em Promoção? (1 para Sim, 0 para Não) </label> <br/> <input name="data2" type="text" size="10" readonly="readonly" value="<?php echo($row['promocao']); ?>"/> <br/> <label id="texto" class="txt"></label> <br/> <br/> <input name="id" type="hidden" value="<?php echo($row['id']); ?>" /> <ul class="menu"> <li><a href='java script:validaForm2()'>Alterar</a></li> </ul> </form> <?php } else { if((anti_injection($_GET['passo'])) == 2) { if(isset($_GET['categoria']) && isset($_GET['titulo']) && isset($_GET['fabricante']) && isset($_GET['marca']) && isset($_GET['modelo']) && isset($_GET['descricao']) && isset($_GET['observacoes']) && isset($_GET['valorunitario']) && isset($_GET['promocao']) && $_GET['categoria'] != '' && $_GET['titulo'] != '' && $_GET['fabricante'] != '' && $_GET['marca'] != '' && $_GET['modelo'] != '' && $_GET['descricao'] != '' && $_GET['observacoes'] != '' && $_GET['valorunitario'] != '' && $_GET['promocao'] != '' && isset($_GET['id']) && isset($_GET['browser']) && $_GET['id'] != '' && $_GET['browser'] != '' ) { //se browser for IE if($_GET['browser'] == 1) { $categoria = anti_injection(trim($_GET['categoria'])); $titulo = anti_injection(trim($_GET['titulo'])); $fabricante = anti_injection(trim($_GET['fabricante'])); $marca = anti_injection(trim($_GET['marca'])); $modelo = anti_injection(trim($_GET['modelo'])); $descricao = anti_injection(trim($_GET['descricao'])); $observacoes = anti_injection(trim($_GET['observacoes'])); $valorunitario = anti_injection(trim($_GET['valorunitario'])); $data = anti_injection(trim($_GET['data'])); $promocao = anti_injection(trim($_GET['promocao'])); $id = anti_injection(trim($_GET['id'])); } else { $categoria = utf8_decode(anti_injection(trim($_GET['categoria']))); $titulo = utf8_decode(anti_injection(trim($_GET['titulo']))); $fabricante = utf8_decode(anti_injection(trim($_GET['fabricante']))); $marca = utf8_decode(anti_injection(trim($_GET['marca']))); $modelo = utf8_decode(anti_injection(trim($_GET['modelo']))); $descricao = utf8_decode(anti_injection(trim($_GET['descricao']))); $observacoes = utf8_decode(anti_injection(trim($_GET['observacoes']))); $valorunitario = utf8_decode(anti_injection(trim($_GET['valorunitario']))); $data = utf8_decode(anti_injection(trim($_GET['data']))); $promocao = utf8_decode(anti_injection(trim($_GET['promocao']))); $id = utf8_decode(anti_injection(trim($_GET['id']))); } $alteraIdSQL = "UPDATE `produtos` SET categoria='$categoria', titulo='$titulo', fabricante='$fabricante', marca='$marca', modelo='$modelo', descricao='$descricao', observacoes='$observacoes', valorunitario='$valorunitario', data='$data', promocao='$promocao' WHERE id='$id'"; $alteraId = mysql_query($alteraIdSQL, $db['con']) or die(mysql_error()); if($alteraId > 0) { echo('Informação alterada em nossa base de dados!'); } else { echo('Erro ao alterar informação - Tente novamente!'); } } else { echo('Erro no envio dos dados - Tente novamente!'); } } else { echo('Erro no envio dos dados - Tente novamente!'); } } } else { echo('Erro no envio dos dados - Tente novamente!'); } ?> ESSE É O CÓDIGO DO ARQUIVO upload.js /****** * Versão: 1.0 - 03/12/2006 * Autor: hcar - Hamilcar Antônio Vieira da Silva - hcar_1@yahoo.com.br * * function textCounter(field, countfield, maxlimit) * - Limitar quentidade de caracteres digitados * * function action(act) * - verifica qual ação o usuário escolheu e configura para que seja efetuada * * function data() * - Pegar a data atual * * function criaForm(area) * - Manipular o formulário de acordo com a escolha do usuário * * function add_foto() * - Adicionar campo para inclusão de uma imagem * * function resetForm(p) * - Voltar o formulário para apresentação inicial * * function enviamos() * - Envio do formulário * * function validaForm() * - Validar formulário de acordo com opção escolhida pelo usuário * *******/ var foto=0; var totalImagens=4; function textCounter(field, countfield, maxlimit) { if(field.value.length > maxlimit) { field.value = field.value.substring(0, maxlimit); } else { countfield.value = maxlimit - field.value.length; } } function action(act) { switch(act) { case 'incluir': resetForm(1); document.getElementById('acao').style.display = 'none'; document.form_fotos.action = 'uploadFile.php'; document.form_fotos.target = 'iframeEnvia'; document.form_fotos.method = "post"; document.getElementById('escolha').style.display = 'block'; document.getElementById('radio').style.display = 'block'; break; case 'reset': document.getElementById('iframe').style.display = 'none'; document.getElementById('acao').style.display = 'block'; ajaxGet("listar.php",document.getElementById("acao"),true); resetForm(2); break; case 'excluir': var dados = '?passo=2&id='+document.excluir.id.value; ajaxGet("excluir.php"+dados,document.getElementById("acao"),true); break; } } function data() { hoje = new Date(); dia = hoje.getDate(); mes = hoje.getMonth()+1; ano = hoje.getFullYear(); hora = hoje.getHours(); minuto = hoje.getMinutes(); segundo = hoje.getSeconds(); document.getElementById("data").value = (ano+'-'+mes+'-'+dia+' '+hora+':'+minuto+':'+segundo); } function criaForm(area) { switch(area) { case 'texto': resetForm(1); document.getElementById('text').style.display = 'block'; document.getElementById('botoes').style.display = 'block'; break; case 'imagens': resetForm(1); document.getElementById('image').style.display = 'block'; document.getElementById('botoes').style.display = 'block'; break; case 'misto': resetForm(1); document.getElementById('text').style.display = 'block'; document.getElementById('image').style.display = 'block'; document.getElementById('botoes').style.display = 'block'; break; } //document.getElementById('escolha').style.display = 'none'; } function add_foto() { var y; if(foto < totalImagens) { y = '<input id="fota" type="file" name="fotos[]"/> <br/>'; document.getElementById('imagens').innerHTML += y;; foto++; } else { document.getElementById('imgInfo').innerHTML = 'Quantidade máxima de fotos alcançada.'; document.getElementById('imgInfo').style.display = 'block'; } } function resetForm(p) { var seleciona; if(p == 1) { document.getElementById('iframe').style.display = 'none'; } if(p == 2) { document.getElementById('radio').style.display = 'none'; document.getElementById('escolha').style.display = 'block'; seleciona = document.getElementById('radio').getElementsByTagName('input'); for (i = 0; i < seleciona.length; i++) { if(seleciona.checked) { seleciona.checked = false; } } } document.getElementById('text').style.display = 'none'; document.getElementById('image').style.display = 'none'; document.getElementById('botoes').style.display = 'none'; document.getElementById('imagens').innerHTML = ''; document.getElementById('aux').innerHTML = ''; document.getElementById('aux').style.display = 'none'; document.getElementById('imgInfo').innerHTML = ''; document.getElementById('imgInfo').style.display = 'none'; document.getElementById("enviar").disabled = false; document.form_fotos.categoria.value = ""; document.form_fotos.titulo.value = ""; document.form_fotos.fabricante.value = ""; document.form_fotos.marca.value = ""; document.form_fotos.modelo.value = ""; document.form_fotos.descricao.value = ""; document.form_fotos.observacoes.value = ""; document.form_fotos.valorunitario.value = ""; document.form_fotos.promocao.value = ""; seleciona = document.getElementById('text').getElementsByTagName('input'); for (i = 0; i < seleciona.length; i++) { if(seleciona.value == "") { document.getElementById(seleciona.name).style.backgroundColor=""; } } seleciona = document.getElementById('text').getElementsByTagName('textarea'); for (i = 0; i < seleciona.length; i++) { if(seleciona.value == "") { document.getElementById(seleciona.name).style.backgroundColor=""; } } document.getElementById('imgs').style.backgroundColor=""; foto = 0; } function enviamos() { document.getElementById('enviar').disabled = true; //document.getElementById('acao').style.display = 'none'; document.getElementById('aux').innerHTML = '<img src="images/carregando.gif" border="0"/>'; document.getElementById('aux').style.display = 'block'; document.getElementById('iframe').style.display = 'block'; if(foto > 0) { document.getElementById('form_fotos').encoding = 'multipart/form-data'; } else { document.getElementById('form_fotos').encoding = 'application/x-www-form-urlencoded'; } document.getElementById('form_fotos').submit(); } function validaForm2() { var dados; if(document.form_alterar.categoria.value == '' || document.form_alterar.titulo.value == '' || document.form_alterar.valorunitario.value == '') { document.getElementById('infoAltera').innerHTML = 'Campos de preenchimento obrigatórios!'; return; } document.getElementById('form_alterar').encoding = 'application/x-www-form-urlencoded'; dados = 'alterar.php?categoria='+document.form_alterar.categoria.value+'&titulo='+document.form_alterar.titulo.value+'&fabricante='+document.form_alterar.fabricante.value+'&marca='+document.form_alterar.marca.value+'&modelo='+document.form_alterar.modelo.value+'&descricao='+document.form_alterar.descricao.value+'&observacoes='+document.form_alterar.observacoes.value+'&valorunitario='+document.form_alterar.valorunitario.value+'&id='+document.form_alterar.id.value+'&promocao='+document.form_alterar.promocao.value; dados = encodeURIComponent(dados); /* if(navigator.appName == 'Microsoft Internet Explorer') { dados += '&browser=1'; } else { dados += '&browser=2'; } */ ajaxGet(dados,document.getElementById("acao"),true); } function validaForm() { var erro = 'Campos: '; var enviar = true; var seleciona = document.getElementById('radio').getElementsByTagName('input'); for (i = 0; i <seleciona.length; i++) { if(seleciona.checked) { seleciona = seleciona.value; break; } } switch(seleciona) { case 'texto': seleciona = document.getElementById('text').getElementsByTagName('input'); for (i = 0; i < seleciona.length; i++) { if(seleciona.value == "") { document.getElementById(seleciona.name).style.backgroundColor="#999900"; erro += seleciona.name+', '; } } seleciona = document.getElementById('text').getElementsByTagName('textarea'); for (i = 0; i < seleciona.length; i++) { if(seleciona.value == "") { document.getElementById(seleciona.name).style.backgroundColor="#999900"; erro += seleciona.name+', '; } } if(erro != 'Campos: ' && erro != '') { erro += 'são de preenchimento obrigatório!' document.getElementById('aux').innerHTML = erro; document.getElementById('aux').style.display = 'block'; enviar = false; } break; case 'imagens': if(foto == 0 || document.getElementById('fota').value == "") { erro = 'Envio de imagem é obrigatório!'; } if(erro != 'Campos: ' && erro != '') { document.getElementById('imgs').style.backgroundColor="#999900"; document.getElementById('imgInfo').innerHTML = erro; document.getElementById('imgInfo').style.display = 'block'; enviar = false; } break; case 'misto': seleciona = document.getElementById('text').getElementsByTagName('input'); for (i = 0; i < seleciona.length; i++) { if(seleciona.value == "") { document.getElementById(seleciona.name).style.backgroundColor="#999900"; erro += seleciona.name+', '; } } seleciona = document.getElementById('text').getElementsByTagName('textarea'); for (i = 0; i < seleciona.length; i++) { if(seleciona.value == "") { document.getElementById(seleciona.name).style.backgroundColor="#999900"; erro += seleciona.name+', '; } } if(foto == 0 || document.getElementById('fota').value == "") { document.getElementById('imgInfo').innerHTML = 'Envio de imagem é obrigatório!'; document.getElementById('imgs').style.backgroundColor="#999900"; document.getElementById('imgInfo').style.display = 'block'; enviar = false; } if(erro != 'Campos: ' && erro != '') { erro += 'são de preenchimento obrigatório!'; document.getElementById('aux').innerHTML = erro; document.getElementById('aux').style.display = 'block'; enviar = false; } break; } if(enviar) { enviamos(); } } Compartilhar este post Link para o post Compartilhar em outros sites