Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Formulario de contacto + adjuntar archivo

Estas en el tema de Formulario de contacto + adjuntar archivo en el foro de PHP en Foros del Web. Hola gente, como estan? Soy nueva en el foro :) Mi nombre es Gabriela... Estoy laburando en un sitio con un formulario de contacto que ...
  #1 (permalink)  
Antiguo 28/11/2013, 17:08
 
Fecha de Ingreso: noviembre-2013
Mensajes: 4
Antigüedad: 10 años, 4 meses
Puntos: 0
Formulario de contacto + adjuntar archivo

Hola gente, como estan? Soy nueva en el foro :)
Mi nombre es Gabriela...
Estoy laburando en un sitio con un formulario de contacto que tiene un campo para adjuntar un archivo... Siempre me funciono perfectamente, usaba phpmailer y no tenia ningun drama. El tema es que mis clientes contrataron un plan de dattatec con Windows... y mi forma de programar el formulario no funciona para este plan...
Logre hacer que me mande el mail dsp de mucho trabajo ya que no soy programadora, pero realmente NO SE como hacer la parte de adjuntar archivo...

Tenía entendido que en el FORMULARIO va de esta manera
<form method="post" action="envio.php" enctype="multipart/form-data">

pero en el envio.php no se como hacer la parte de que envie el adjunto al mail.

Antes utilizaba:

Código PHP:
Ver original
  1. if (isset($_FILES['archivo']['tmp_name']) && ($_FILES['archivo']['tmp_name']!="") ) {
  2.     $aleatorio = rand();
  3.     $nuevonombre=$aleatorio.'-'.$_FILES['archivo']['name'];
  4.     // copiamos el archivo en el servidor
  5.     copy($_FILES['archivo']['tmp_name'],'archivos/'.$nuevonombre);
  6.     $conarchivo = "Your file has been added successfully<br />";
  7. }
  8.  
  9. $mail->AddAttachment('archivos/'.$nuevonombre.'', $nuevonombre);


Y mi codigo actual de envio.php es:



Código PHP:
Ver original
  1. $mail->Mailer = "smtp";
  2. $mail->Port=25;
  3. $mail->Host = "localhost";
  4. $header = "From:[email protected]";
  5.  
  6. if(isset($_POST["cantidad"]) && isset($_POST["nombre"]) && isset($_POST["apellido"]) && isset($_POST["direccion"]) && isset($_POST["localidad"]) && isset($_POST["pais"])  && isset($_POST["telefono"]) && isset($_POST["email"]) && isset($_POST["consulta"]) ){
  7.        
  8.    
  9. $subject = "Pedido de Presupuesto";
  10. $contenido .= "Mensaje Enviado:". date( "d/m/y", time() ). " a las ". date( "g:i a", time() ). "\n";
  11. $contenido .= "Cantidad de Palabras/Paginas: ".$_POST["cantidad"]."\n";
  12. $contenido .= "Nombre: ".$_POST["nombre"]."\n";
  13. $contenido .= "Nombre: ".$_POST["apellido"]."\n";
  14. $contenido .= "Nombre: ".$_POST["direccion"]."\n";
  15. $contenido .= "Nombre: ".$_POST["localidad"]."\n";
  16. $contenido .= "Nombre: ".$_POST["pais"]."\n";
  17. $contenido .= "Nombre: ".$_POST["telefono"]."\n";
  18. $contenido .= "Email: ".$_POST["email"]."\n\n";
  19. $contenido .= "Comentario: ".$_POST["consulta"]."\n\n";
  20. $header = "From: [email protected]\nReply-To:".$_POST["email"]."\n";
  21. $header .= "Mime-Version: 1.0\n";
  22. $header .= "Content-Type: text/plain";
  23.  
  24. if(mail($to, $subject, $contenido ,$header)){
  25. echo ('<meta http-equiv="refresh" content="0;url=ingles-prueba2.php">');
  26. }
  27. }


Realmente no tengo idea como hacerlo Por favor ayudenmeee!

Saludos

Última edición por imagine85; 28/11/2013 a las 17:13 Razón: Modifique el codigo
  #2 (permalink)  
Antiguo 29/11/2013, 06:12
 
Fecha de Ingreso: octubre-2006
Mensajes: 114
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Formulario de contacto + adjuntar archivo

usa este: http://www.forosdelweb.com/f18/formu...untos-1082753/
  #3 (permalink)  
Antiguo 29/11/2013, 08:13
 
Fecha de Ingreso: noviembre-2013
Mensajes: 4
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Formulario de contacto + adjuntar archivo

Ay gracias, no habia visto ese tema.. perdon!
De todas formas... te anda tal cual ese formu?? Porque me saltan unos errores en el codigo...

Parse error: syntax error, unexpected T_DEC in \\hmfsw\web\DTCWIN096\cognitiotranslations.com\pub lic_html\enviar2.php on line 20

Linea 20:
$sCabeceras .= "boundary="--_Separador-de-mensajes_--"n";


y estas linea me salen en rojo tmb...
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name="".$vAdjunto["name"].""n";

$sAdjuntos .= "Content-disposition: attachment;filename="".$vAdjunto["name"].""nn";

lo puse tal cual para probar... tenes idea q significan esos errores?

Gracias otra vez x tu repsuesta!!
  #4 (permalink)  
Antiguo 29/11/2013, 12:58
 
Fecha de Ingreso: octubre-2006
Mensajes: 114
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Formulario de contacto + adjuntar archivo

Cita:
Iniciado por imagine85 Ver Mensaje
Ay gracias, no habia visto ese tema.. perdon!
De todas formas... te anda tal cual ese formu?? Porque me saltan unos errores en el codigo...

Parse error: syntax error, unexpected T_DEC in \\hmfsw\web\DTCWIN096\cognitiotranslations.com\pub lic_html\enviar2.php on line 20

Linea 20:
$sCabeceras .= "boundary="--_Separador-de-mensajes_--"n";


y estas linea me salen en rojo tmb...
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name="".$vAdjunto["name"].""n";

$sAdjuntos .= "Content-disposition: attachment;filename="".$vAdjunto["name"].""nn";

lo puse tal cual para probar... tenes idea q significan esos errores?

Gracias otra vez x tu repsuesta!!
si me anda, al principio tuve problemas por q el host estaba en lista negra y no me entraba ningún mail, te recomiendo que pruebes solo el codigo; saludos
  #5 (permalink)  
Antiguo 29/11/2013, 14:46
 
Fecha de Ingreso: noviembre-2013
Mensajes: 4
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Formulario de contacto + adjuntar archivo

Si, lo copio tal cual y ya me salta error en el dreamweaver.. me lo pone en rojo a esas lineas...Cdo lo subo al servidor me tira ese error q te muestro.
Bueno, seguire peleando..
Mil gracias !
  #6 (permalink)  
Antiguo 29/11/2013, 14:55
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Formulario de contacto + adjuntar archivo

A simple vista:

Código PHP:
Ver original
  1. $sCabeceras .= "boundary="--_Separador-de-mensajes_--"n";

Esta mal ya que se debe de concatenar los strings, además de que está mal planteado esa linea deberia ir asi:

Código PHP:
Ver original
  1. $sCabeceras .= "boundary=--_Separador-de-mensajes_-- \n";

Estas lineas lo mismo esta mal concatenado

Código PHP:
Ver original
  1. $sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name="".$vAdjunto["name"].""n";
  2.  
  3. $sAdjuntos .= "Content-disposition: attachment;filename="".$vAdjunto["name"].""nn";

Deberían ir así:

Código PHP:
Ver original
  1. $sAdjuntos .= "Content-type: " . $vAdjunto["type"] . ";name=" . $vAdjunto["name"] . "\n";
  2.  
  3. $sAdjuntos .= "Content-disposition: attachment;filename=" . $vAdjunto["name"] . "\n";

Debes estar mas atenta a esas cosas. El punto (.) es para concatenar

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 02/12/2013, 05:50
 
Fecha de Ingreso: noviembre-2013
Mensajes: 4
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Formulario de contacto + adjuntar archivo

Muchas Gracias jonni09lo... dejo de saltarme el error!
Vere si puedo solucionar lo del servidor que dice sx7a que evidentemente me esta pasado tmb..

Muchas Gracias a los dos! :)

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:46.