Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ecotuba

Upload com noticias

Recommended Posts

Galera

Ja passei varias madrugas tentando acertar isso.

Preciso fazer a seguinte combinação:

 

tenho um formulario de noticias com fotos e preciso checar o seguinte:

 

gravar no Bd foto e conteudo junto desse jeito;

 

nao gravar a foto caso o conteudo de erro

nao gravar o conteudo caso a foto de erro

 

Estou usando um mix de coisas que foram postadas aqui e outros site

vejam o codigo aqui

 

http://ubatuba.org.br/codigo.html

 

Não consegui evitar o upload e nao esta gravando no bd tbm.

 

Pelo amor de Deus, madrugada varada ta duro de aguentar, valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta ae:

 

$upload = new Upload();if($upload->Envia_Arquivo() == true) {	//consulta sql inserindo os dados	$sql = "INSERT into $tabela	(id, titulo, autor, conteudo, foto_g, foto_m, foto_p, legenda, data, hora)	VALUES	(NULL , '$titulo', '$autor', '$conteudo', '$nome_foto', '$nome_thumb', '$nome_mini', '$legenda', '$data', '$hora')";	$resultado=mysql_query($sql)	//aviso de erro	or die ("<h3><center>Houve erro na gravação dos dados, verifique o preenchimento dos campos! </center></h3>");		//Fecho a conexao com o mysql	mysql_close();		//Mensagem de OK na gravacao	echo "<h3><center>Cadastro efetuado com sucesso, aguarde...! </center></h3>";	echo "<META HTTP-EQUIV=REFRESH CONTENT='2; URL=index.php'>";	}	}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

crucifierFiz o q tu disse, mas rola um erro na linha 218 que tem um ?> fechando o codigo:Parse error: parse error, unexpected $end in D:\www\teste.php on line 218Já não sei mais o q fazer p isso dar certo da forma q preciso, td ajuda é bem vinda e me salva a pele.Eu alterei o code, veja so:

<style type="text/css">h3{font-family: Arial, Helvetica, sans-serif;color: #003366;}</style><?php//anti_injectioninclude "protege_sql.php";if($_SERVER["REQUEST_METHOD"] == "POST"){ $ok = "TRUE"; }else{ $ok = "FALSE"; }if(//Trata as variáveis do formulário e insere uma função para checar injeção de codigos sql(isset ($_POST ["tabela"])) ||(isset ($_POST["titulo"])) ||(isset ($_POST["autor"])) ||(isset ($_POST["conteudo"])) ||//$arquivo = anti_injection ($_POST["arquivo"]);(isset ($_POST["legenda"])) ||(isset ($_POST["data"])) ||(isset ($_POST["hora"]))){ $ok = "TRUE";$titulo = anti_injection ($_POST["titulo"]);$autor = anti_injection ($_POST["autor"]);$conteudo = anti_injection ($_POST["conteudo"]);//$arquivo = anti_injection ($_POST["arquivo"]);$legenda = anti_injection ($_POST["legenda"]);$data = anti_injection ($_POST["data"]);$hora = anti_injection ($_POST["hora"]);}//dados não postados pelo formulárioelse{ $ok = "FALSE";echo "<h3><center>Preencha os campos via formulário.<img src=\"img/carregando.gif\" alt=\"UbaUebi\"/></center></h3>";echo "<META HTTP-EQUIV=REFRESH CONTENT='; URL=index.php'>";exit;}//Verifica se os campos do formulário estão preenchidosif(($_POST["tabela"] !="") ||($_POST["tabela"] !="") ||($_POST["titulo"] !="") ||($_POST["autor"] !="") ||($_POST["conteudo"] !="") ||//($_POST["arquivo"]!="") ||($_POST["legenda"] !="") ||($_POST["data"] !="") ||($_POST["hora"] !="")){ $ok = "TRUE"; }else{$ok = "FALSE";//Campo em branco no formulárioecho "<h3><center>Preencha todos os campos.<img src=\"img/carregando.gif\" alt=\"UbaUebi\"/></center></h3>";echo "<META HTTP-EQUIV=REFRESH CONTENT='; URL=index.php'>";exit;}//Verifica o tamanho dos campos do formulárioif((strlen($tabela) < 10) ||(strlen($titulo) < 10) ||(strlen($autor) < 10) ||(strlen($conteudo) < 10) ||(strlen($legenda) < 10 ) ||(strlen($data) < 10 ) ||(strlen($hora) < 10 )){ $ok = "TRUE"; }else{ $ok = "FALSE";echo "<h3><center>Você excedeu a quantidade de caracteres permitidos...<img src=\"img/carregando.gif\" alt=\"UbaUebi\"/></center></h3>";exit;echo "<META HTTP-EQUIV=REFRESH CONTENT='2; URL=index.php'>";}echo "$ok";//Se td der certo, $ok = true, inicia a checagem da fotoif( $ok == TRUE ){set_time_limit(0);include "funcoes_upload.php";class Upload {var $arquivo = "";var $erro = array ( "0" => "upload execultado com sucesso!","1" => "O arquivo é maior que o permitido pelo Servidor","2" => "O arquivo é maior que o permitido pelo formulario","3" => "O upload do arquivo foi feito parcialmente","4" => "Não foi feito o upload do arquivo");function Verifica_Upload() {$this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;if(!is_uploaded_file($this->arquivo['tmp_name'])) {return false;}// Tamanho máximo do arquivo em bytes$maximo = 3000000;//Verificaçãoif($_FILES['arquivo']['size'] > $maximo){echo "Erro! O arquivo enviado por você ultrapassa o limite máximo de " . $maximo . " bytes! Envie outro arquivo";exit;}//checa formato do arquivo$get = getimagesize($this->arquivo['tmp_name']);if(($get["mime"] != "image/jpeg") AND ($get["mime"] != "image/gif") AND ($get["mime"] != "image/png")) {echo "<span style=\"color: white; border: solid 1px; background: red;\">Esse foto nao é uma imagem valida</span>";exit;}return true;}//funcao envia arquivofunction Envia_Arquivo() {if($this->Verifica_Upload()) {$this->gera_fotos();return true;} else {echo "<span style=\"color: white; border: solid 1px; background: red;\">".$this->erro[$this->arquivo['error']]."</span>";}}function gera_fotos() {$diretorio = "fotos/";$diretorio_g = "fotos/g/";$diretorio_p = "fotos/p/";$diretorio_m = "fotos/m/";if(!file_exists($diretorio)) {mkdir($diretorio);}if(!file_exists($diretorio_g)) {mkdir($diretorio_g);}if(!file_exists($diretorio_p)) {mkdir($diretorio_p);}if(!file_exists($diretorio_m)) {mkdir($diretorio_m);}// Vai servir para verificar se eh GIF ou JPG ou PNG$get2 = getimagesize($this->arquivo['tmp_name']);// Vai servir para verificar se eh GIF ou JPG ou PNG$aux_tipo_imagem = $get2["mime"];// verifica se JPG//if ($aux_tipo_imagem == "image/jpeg") {$nome_foto = "imagem_".time().".jpg";$nome_thumb = "thumb_".time().".jpg";$nome_mini = "mini_".time().".jpg";//determino uma resolução maxima e se a imagem for maior ela sera reduzidareduz_imagem_jpg($this->arquivo['tmp_name'], 320, 240, $diretorio_g.$nome_foto);//passo o tamanho da thumbnailreduz_imagem_jpg($this->arquivo['tmp_name'], 200, 150, $diretorio_m.$nome_thumb);//passo o tamanho da minireduz_imagem_jpg($this->arquivo['tmp_name'], 120, 75, $diretorio_p.$nome_mini);}// verifica se GIF//if ($aux_tipo_imagem == "image/gif") {$nome_foto = "imagem_".time().".gif";$nome_thumb = "thumb_".time().".gif";$nome_mini = "mini_".time().".gif";//determino uma resolução maxima e se a imagem for maior ela sera reduzidareduz_imagem_gif($this->arquivo['tmp_name'], 320, 240, $diretorio_g.$nome_foto);//passo o tamanho da thumbnailreduz_imagem_gif($this->arquivo['tmp_name'], 200, 150, $diretorio_m.$nome_thumb);//passo o tamanho da minireduz_imagem_gif($this->arquivo['tmp_name'], 120, 75, $diretorio_p.$nome_mini);}//aviso de OK ou erro do uploadecho "<span style=\"color: white; border: solid 1px; background: purple;\">".$this->erro[$this->arquivo['error']]."</span>";$upload = new Upload();if($upload->Envia_Arquivo() == true) {// -Banco de Dados - //include "include/conexao.php";//consulta sql inserindo os dados$res = "INSERT into $tabela(id, titulo, autor, conteudo, foto_g, foto_m, foto_p, legenda, data, hora)VALUES(NULL , '$titulo', '$autor', '$conteudo', '$nome_foto', '$nome_thumb', '$nome_mini', '$legenda', '$data', '$hora')";$resultado=mysql_query($res)//aviso de erroor die ();//Fecho a conexao com o mysqlmysql_close();//Mensagem de OK na gravacaoecho "<h3><center>Cadastro efetuado com sucesso, aguarde...! <img src=\"img/carregando.gif\" alt=\"UbaUebi\"/></center></h3>";//echo "<META HTTP-EQUIV=REFRESH CONTENT='2; URL=index.php'>";}}}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

sempre quando da erro na linha que fecha o ?> quer dizer q eskeceu de fechar alguma chaveeu tinha te dado +/- o q tinha que fazer, adapte no seu scriptdeve ser algum while ou algum if que ficou sem fechar ou eu coloquei meu if antes, depois sei la...da uma adaptada kra, agora é contigo...ve aí onde q ta sem fechar, e fecha

Compartilhar este post


Link para o post
Compartilhar em outros sites

BuenasAcertei aqui, valeu, mas to com um pepino que creio que seja final:Mudaram de ideia e preciso que o envio de fotos seja opcional e assim mesmo grave no banco os dados postados.Não sei muito de funções e classes e ando viajando no script.Quando não há foto a função interrompe o cadastro no banco das variaveis do form, nao sei o lugar certo e como dizer para continuar executando o codigo de cadastro.Alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Buenas

 

Acertei aqui, valeu, mas to com um pepino que creio que seja final:

 

Mudaram de ideia e preciso que o envio de fotos seja opcional e assim mesmo grave no banco os dados postados.

 

Não sei muito de funções e classes e ando viajando no script.

 

Quando não há foto a função interrompe o cadastro no banco das variaveis do form, nao sei o lugar certo e como dizer para continuar executando o codigo de cadastro.

 

Alguma ideia?

Quando você for enviar o formulário você altera o encoding do formulário com javascript.

 

document.getElementById('form').encoding = 'multipart/form-data'; // para enviar imagens

document.getElementById('form').encoding = 'application/x-www-form-urlencoded'; // não enviar imagens

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho esse script funcionando...www.agenciadrop.com/noticias/você escolhe na hora de colocar a noticia, se quer com foto ou não.qualquer coisa dá um toque aê...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá LeandromxCheguei a baixar ele, mas tava cheio de furos q desisti, o seu eui vi q ta funfanfo bem.Cara é isso q preciso para estudo, você pode zipar e disponibilizar ele?Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos fazer umas trocas ae^??você tem alguns scripts legais ????Ai trocamos por email...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi LeandroEu tenho aqui galeria de fotos, enquetes, formularios e outros. Eu preciso urgente de um q:fala upload de foto, crie thumbs e grave o path no BD, mas q tbm permita gravar os dados sem o upload.Eu peguei um do Fabio daqui do imaster, mas naop estou conseguindo fazer o q quero.Ou um sistema de news q faça isso.Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Bruno

Deixa ver se entendi, você quer:

 

um sistema de banners (que formato vai usar?) aonde eu possa escolha o local(o local é a pagina?) onde posso postar..(via upload)

 

É isso?

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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