Dark_Fox3000 Postado Março 8, 2009 Denunciar Share Postado Março 8, 2009 Pra num abrir outro tópico vou pega o embalo no do colega. Bom tenho um formulario de contato que funciona quase 100%, mas quando tento colocar pra o mesmo enviar arquivo anexo ele retorna erro.Segue os codigos:cadastro.html<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Cadastro RD3 Show</title> <style type="text/css"> <!-- body { background-image: url(fundo.png); background-repeat: no-repeat; } --> </style> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; } } if (errors) alert('The following error(s) occurred:\n'+errors); document.MM_returnValue = (errors == ''); } //--> </script> </head> <body onload="MM_validateForm('nome','','R','endereco','','R','referencia','','R','bairro','','R','cidade','','R','estado2','','R','prefixo','','RisNum','telefone','','RisNum','celular2','','RisNum','email','','RisEmail','login','','R','senha','','R');return document.MM_returnValue"> <table width="990" height="499" border="0"> <tr> <th width="165" height="495" scope="col"> </th> <th width="537" valign="bottom" scope="col"> <form action="enviar.php" method="post" enctype="multipart/form-data" name="formcontato" id="formcontato"> <div align="left"> <p> Nome: <label> <input name="nome" type="text" id="nome" size="50"> </label> </p> <p> <label>Idade: <input name="idade" type="text" id="idade" /> </label> </p> <p> <label>Endereço: <input name="endereco" type="text" id="endereco" size="46"> </label> </p> <p> <label></label> Bairro: <label> <input name="bairro" type="text" id="bairro" size="40" /> </label> </p> <p>Cidade: <label> <input name="cidade" type="text" id="cidade" size="40" /> Estado: <input name="estado" type="text" id="estado2" size="1" maxlength="2" /> </label> <label></label> </p> <p>DDD: <label> <input name="prefixo" type="text" id="prefixo" size="1" maxlength="2" /> Telefone: <input name="telefone" type="text" id="telefone" /> </label> </p> <p>Email: <label> <input name="email" type="text" id="email" size="50" /> </label> </p> <p> <label>Assunto: <input name="titulo" type="text" id="titulo" size="40" /> </label> </p> <p>Mensagem: <label> <textarea name="texto" cols="50" id="texto"></textarea> </label> <label> </label> <label> </label> </p> <p> <label>Anexo: <input name="arquivo" type="file" id="arquivo" lang="pt" /> </label> </p> <table width="100%" border="0" align="center"> <tr> <td align="center"><input name="Submit" type="submit" id="Submit2" value="ENVIAR" /> <input name="Reset" type="reset" id="Reset" value="LIMPAR" /></td> </tr> </table> <p> <label></label> </p> </div> </form> </tr> </table> </body> </html> enviar.php <html> <head> <title>Cadastro PONTOINET</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- body { background-image: url(../../../Site RD3/formulario/fundo.png); background-repeat: no-repeat; } --> </style></head> <body> <? //Pega o valor do campo nome do formulário: $assunto = $_POST[titulo]; //Pega o valor do campo email do formulário: $email = $_POST[email]; //Coloque o e-mail que receberá os dados: $seuemail = "edmiranda3@yahoo.com.br"; //Pega o valor do campo mensagem, e usa a função n12br() para aceitar comandos html: $mensagem = nl2br($_POST[texto]); $nome = $_POST[nome]; $idade = $_POST[idade]; $endereco = $_POST[endereco]; $bairro = $_POST[bairro]; $cidade = $_POST[cidade]; $estado = $_POST[estado]; $prefixo = $_POST[prefixo]; $telefone = $_POST[telefone]; $corpo = "$nome $endereco $idade $bairro $cidade $estado $prefixo $telefone $email $texto"; $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $email \r\n"; //Enviar os dados do formulário para seu e-mail $enviar = mail($seuemail, $assunto, $mensagem, $corpo); //Verifica se o e-mail foi entregue com sucesso if($enviar) { echo "Email enviado com sucesso"; }else{ echo "Não foi possível enviar."; } ?> </body> </html>A mensagem de erro: Parse error: syntax error, unexpected $end in /home/rd3club/public_html/form/enviar.php on line 73essa linha é essa: 73 </html>Sem a parte do $arquivo o formulario funciona normal.... alguém pode dizer onde esta o erro, grato a todos desde já. B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Março 8, 2009 Denunciar Share Postado Março 8, 2009 você abriu um bloco de códigos e não fechouif (file_exists($arquivo["tmp_name"]) and !empty($arquivo)) { // --- ABRE BLOCO 1 - você NÃO TINHA FECHADO $fp = fopen($_FILES["arquivo"]["tmp_name"], "rb"); $anexo = fread($fp, filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $email \r\n"; // Enviar os dados do formulário para seu e-mail $enviar = mail($seuemail, $assunto, $mensagem, $corpo); // Verifica se o e-mail foi entregue com sucesso if ($enviar) { // ABRE BLOCO 2 echo "Email enviado com sucesso"; } else { echo "Não foi possível enviar."; } // FECHA BLOCO 2 } // FECHA BLOCO 1 ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dark_Fox3000 Postado Março 8, 2009 Autor Denunciar Share Postado Março 8, 2009 Ok, resolvido o erro de sintaxe, mas o anexo não esta sendo enviado :( , saberia dizer o porque? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Março 8, 2009 Denunciar Share Postado Março 8, 2009 Pelo que vi:1. você não anexou o arquivo a mensagema varriavel $anexo tem que "entrar" na varriavel $mensagem2. A codificação da sua mensagem deve ser de multipart's, a ser incluido no cabeçalho $corpo .= "Content-type: multipart/mixed; boundary=\"$idt\"\r\n"; 3. você tem que declarar o anexo na msg$mensagem .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; Tem um exemplo de envio de formulário com anexo aqui Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Dark_Fox3000
Pra num abrir outro tópico vou pega o embalo no do colega. Bom tenho um formulario de contato que funciona quase 100%, mas quando tento colocar pra o mesmo enviar arquivo anexo ele retorna erro.
Segue os codigos:
cadastro.html
enviar.phpA mensagem de erro: Parse error: syntax error, unexpected $end in /home/rd3club/public_html/form/enviar.php on line 73
essa linha é essa: 73 </html>
Sem a parte do $arquivo o formulario funciona normal.... alguém pode dizer onde esta o erro, grato a todos desde já. B)
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.