Comunidad de diseño web y desarrollo en internet online

Formulario con adjuntar imagenes

Citar            
MensajeEscrito el 21 May 2009 10:52 pm
hola que tal gente bueno aca estamos de nuevo con una pequeña duda!
la verdad que dios google no tiene una respuesta para mi consulta, llevo casi dos dias de dolor de cabeza.
esta es la situacion:
hice un formulario de datos para mi web, la verdad todo perfecto funciona todo, lo subi al servidor lo probe y me llega todo al mail, pero lo que yo quiciera es adaptarle al formulario una seccion mas, para que puedan "adjuntar imagenes" en .JPG y estas sean enviados juntos con los datos del formulario a mi correo.
Alguien seria tan amable de ayudarme¿? xD

aca adjunto los codigos del formulario:

Codigo Html:

Código :

<form action="formulario.php" method="post" enctype="multipart/form-data" name="form1"> 
  <table border="0">
    <tr> 
      <td width="200"><div align="right">Nombre y Apellido:</div></td>
      <td width="200"><div align="left"> 
          <label> 
          <input name="nombre" type="text" id="nombre" />
          </label>
        </div></td>
    </tr>
    <tr> 
      <td><div align="right">Asunto:</div></td>
      <td><div align="left"> 
          <label> 
          <input name="asunto" type="text" id="asunto" />
          </label>
        </div></td>
    </tr>
    <tr> 
      <td><div align="right">Mensaje:</div></td>
      <td rowspan="2"><div align="left"> 
          <label> 
          <textarea name="mensaje" id="mensaje"></textarea>
          </label>
        </div></td>
    </tr>
    <tr> 
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td><div align="right">E-mail</div></td>
      <td><input name="email" type="text" id="email" /> </td>
    </tr>
    <tr> 
      <td><div align="right"> 
          <input name="restablecer" type="reset" id="restablecer" value="Restablecer" />
        </div></td>
      <td><div align="left"> 
          <input name="Enviar" type="submit" id="Enviar" value="Enviar" />
        </div></td>
    </tr>
  </table>
</form>


Codigo php:

Código :

<form action="formulario.php" method="post" enctype="multipart/form-data" name="form1"> 
  <table border="0">
    <tr> 
      <td width="200"><div align="right">Nombre y Apellido:</div></td>
      <td width="200"><div align="left"> 
          <label> 
          <input name="nombre" type="text" id="nombre" />
          </label>
        </div></td>
    </tr>
    <tr> 
      <td><div align="right">Asunto:</div></td>
      <td><div align="left"> 
          <label> 
          <input name="asunto" type="text" id="asunto" />
          </label>
        </div></td>
    </tr>
    <tr> 
      <td><div align="right">Mensaje:</div></td>
      <td rowspan="2"><div align="left"> 
          <label> 
          <textarea name="mensaje" id="mensaje"></textarea>
          </label>
        </div></td>
    </tr>
    <tr> 
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td><div align="right">E-mail</div></td>
      <td><input name="email" type="text" id="email" /> </td>
    </tr>
    <tr> 
      <td><div align="right"> 
          <input name="restablecer" type="reset" id="restablecer" value="Restablecer" />
        </div></td>
      <td><div align="left"> 
          <input name="Enviar" type="submit" id="Enviar" value="Enviar" />
        </div></td>
    </tr>
  </table>
</form>
<?php 
$sendTo = "[email protected]";
$headers .= "From: Contacto<[email protected]>\r\n";
$from = "Contactos"; 
$subject = "Seccion Contactos"; 
$nombre = $_POST["nombre"]; 
$titulo = $_POST["asunto"]; 
$guia = $_POST["mensaje"]; 
$email = $_POST["email"]; 
$headers .= ""; 
$message = "Nombre: " . $nombre . "\nTítulo de la guia: " . $titulo . "\nGuia: " . $guia . "\nEmail: " . $email; 
mail($sendTo, $subject, $message, $headers); 
?>
<body class="a"> 
<span class="s">su mensaje ha sido enviado...</span> 


Desde ya cualquier aporte que puedan hacer, aunque sea minimo se los voy agradecer mucho. :)

Por Nqnikon

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 May 2009 01:30 am
mira a ver si este codigo te sirve y prueba varias consultas a google saludos

http://www.codigolandia.com/art-Mail+Con+Adjunto+-+Cualquier+Archivo-php-60.tc

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 22 May 2009 03:03 am

talcual escribió:

mira a ver si este codigo te sirve y prueba varias consultas a google saludos

http://www.codigolandia.com/art-Mail+Con+Adjunto+-+Cualquier+Archivo-php-60.tc


como va!! te agradesco por tu respuesta rapida, te cuento estube surfeando bastante por google al punto de ahogarme y si ya habia visto ese codigo que publica el autor y estube probandolo pero como el php no es mi fuerte no logro aislar el codigo para adjuntarselo a mi formulario me tirar errores de sintaxis:

PHP Error Message

Parse error: syntax error, unexpected T_STRING in /home/directorio/formulario.php on line 83

se que hay algo que no estoy viendo pero bueno no se cual es el problema, ademas me gustaria restringir a solo archivos .JPG y si es posible que no copie los archivos al servidor sino que los mande directamente al mail.
dejo el codigo que estube tratando de hacer y el que me tira error:


Código :

<form action="formulario.php" method="post" enctype="multipart/form-data" name="form1"> 
  <table border="0">
    <tr> 
      <td width="200"><div align="right">Nombre y Apellido:</div></td>
      <td width="200"><div align="left"> 
          <label> 
          <input name="nombre" type="text" id="nombre" />
          </label>
        </div></td>
    </tr>
    <tr> 
      <td><div align="right">Asunto:</div></td>
      <td><div align="left"> 
          <label> 
          <input name="asunto" type="text" id="asunto" />
          </label>
        </div></td>
    </tr>
    <tr> 
      <td><div align="right">Mensaje:</div></td>
      <td rowspan="2"><div align="left"> 
          <label> 
          <textarea name="mensaje" id="mensaje"></textarea>
          </label>
        </div></td>
    </tr>
    <tr> 
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td><div align="right">E-mail</div></td>
      <td><input name="email" type="text" id="email" /> </td>
    </tr>
    <tr> 
      <td colspan="2"> <div align="center"> 
          <input type="file" name="archivo1" size="13" />
        </div></td>
    </tr>
    <tr> 
      <td><div align="right"> 
          <input name="restablecer" type="reset" id="restablecer" value="Restablecer" />
        </div></td>
      <td><div align="left"> 
          <input name="Enviar" type="submit" id="Enviar" value="Enviar" />
        </div></td>
    </tr>
  </table>
</form>
<?php 
$sendTo = "[email protected]";
$headers .= "From: Contacto<[email protected]>\r\n";
$from = "Contactos"; 
$subject = "Seccion Contactos"; 
$nombre = $_POST["nombre"]; 
$titulo = $_POST["asunto"]; 
$guia = $_POST["mensaje"]; 
$email = $_POST["email"]; 
$headers .= ""; 
$message = "Nombre: " . $nombre . "\nTítulo de la guia: " . $titulo . "\nGuia: " . $guia . "\nEmail: " . $email; 
$item= $SendTo.'/'.$prefijo.$_FILES['archivo1']['name']; 
  $name=$_FILES['archivo1']['name']; 
   $size=filesize($item); 

  $file = fopen($item, "r");  

  $contenido=fread($file,$size); 

  $encoded_attach = chunk_split(base64_encode($contenido));  

  fclose($file);  

  $cabeceras .= "MIME-version: 1.0n";  
  $cabeceras .= "Content-type: multipart/mixed; ";  
  $cabeceras .= "boundary="Message-Boundary"n"; 
  $cabeceras .= "From: $email ['email']r n";   
  $cabeceras .= "Reply-To: Devolver a  <[email protected]>r n";  
  $cabeceras .= "Content-transfer-encoding: 7BITn";  
  $cabeceras .= "X-attachments: $name";  

  $body_top = "--Message-Boundaryn";  
  $body_top .= "Content-type: text/plain; charset=US-ASCIIn";  
  $body_top .= "Content-transfer-encoding: 7BITn";  
  $body_top .= "Content-description: Archivonn";  

  $cuerpo = $body_top.$mensaje;  

  $cuerpo .= "nn--Message-Boundaryn";  
  $cuerpo .= "Content-type: aplication/zip; name="$name"n";  
  $cuerpo .= "Content-Transfer-Encoding: BASE64n";  
  $cuerpo .= "Content-disposition: attachment; filename="$name"nn";  
  $cuerpo .= "$encoded_attachn";  
  $cuerpo .= "nn--Message-Boundaryn";  
  
mail($sendTo, $subject, $message, $headers, $cuerpo, $cabeceras); 
?>
<body class="a"> 
<span class="s">su mensaje ha sido enviado...</span>


bueno agradesco los demas aportes y gracias de nuevo talcual!

Por Nqnikon

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 May 2009 03:04 am
Buenas!

El error que tienes es de parse, algo como que te faltan un ;, o cerrar comillas...

Mirate la linea 83

Saludos

Por oscarga

13 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 May 2009 03:17 am

oscarga escribió:

Buenas!

El error que tienes es de parse, algo como que te faltan un ;, o cerrar comillas...

Mirate la linea 83

Saludos


oscar gracias por tu respuesta, el unico inconveniente es que el codigo original del autor tiene asi la linea 83 y como comente antes el php no es mi fuerte no sabria exactamente cual es el error :S, igual te agradesco tu aporte :)

Por Nqnikon

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 May 2009 03:29 am
cambia esa linea por esta

$body_top .= "Content-description: Archivo\n\n";

y me dices si tienes algun problema

Yo soy el autor del script saludos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 22 May 2009 04:30 am

talcual escribió:

cambia esa linea por esta

$body_top .= "Content-description: Archivo\n\n";

y me dices si tienes algun problema

Yo soy el autor del script saludos


te agradesco de nuevo! y genial que seas el autor! felicitaciones amigo por facilitar la vida a los que tenemos problemas con este tipo de cuestiones, claro a mi se me seria mas facil de usar solo tu codigo pero la verdad que siempre me la complico jaja por que se lo quiero integrar a un formulario que tengo para que sea una sola parte y me parece que me mande un pequeño lio! trate de cortarle solo lo del envio del archivo para cuando pulse el boton enviar se envie los datos del formulario con el archivo adjuntado pero bueno me tira ese error, te comento la linea 83 del php que me aparece es:

$cabeceras .= "boundary="Message-Boundary"n";

///el Message-Boundary me aparece en negro puede ser que no me este tomando esa sentencia¿?

tambien me tira error en la linea 97 que en el php que tengo es:

$cuerpo .= "Content-type: aplication/zip; name="$name"n";

///el ( $name ) y el ( ; ) tambien me aparece en negro

mira sino seria mucha molestia no le pegarias una miradita al codigo que deje mas arriba en una respuesta ¿? y si encontras algun lio por ahi me lo comentes ¿? por ultimo y no quiero ser molesto se que hay formas para restringir los archivos que sean de un solo formato como se hace esto ultimo ¿? (esto ultimo sino podes todo bien lo buscare por google) :)

Nota: probe cambiando esa linea que me comentastes por donde va esa me tira error y despues cambie la que te comente que la linea 83 ( $cabeceras .= "boundary="Message-Boundary"n"; ) que tengo por esa que me comentastes y me tira error en la 97

bueno sin mas te agradesco la ayuda que me estas brindando y mas por la hora que debe ser alla en colombia un abraso fuerte.

Por Nqnikon

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 25 May 2009 04:03 am
Gente gracias por los que dieron su aporte!! ya logre solucionar el inconveniente asi que cierro el post! un saludo!

Por Nqnikon

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 25 May 2009 05:37 am
$cuerpo .= "Content-type: aplication/zip; name="$name"n"; si ves no estas concatenando por esa razon te sale el error seria algo como esto



$cuerpo .= "Content-type: aplication/zip; name=".$name."n";

lo mismo para la otra linea si te sigue saliendo el error verifica escapando los caracteres con barras en contra de estas \

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 25 May 2009 06:29 am
Nqnikon, tu avatar es mayor al tamaño máximo permitido (100x100). Por favor, redúcelo.
Y bienvenido a Cristalab (y)

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 27 May 2009 04:29 am
Gracias amigo talcual te agradesco la ayuda que me prestastes! ya logre adaptar un formulario a mis necesidades! funciona y todo! te mando un abraso por molestarte en contestar!

THE FRICKY ya cambie el avatar disculpa las molestias! y te agradesco por la bienvenida!

Por Nqnikon

8 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.