Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/10/2010, 18:46
Avatar de iwexcoder
iwexcoder
 
Fecha de Ingreso: mayo-2009
Ubicación: San Carlos de Bariloche
Mensajes: 404
Antigüedad: 15 años, 6 meses
Puntos: 16
Respuesta: Ayuda para formulario con imagen porfa.

Cita:
Iniciado por omedes Ver Mensaje
Hola me presento antes que nada a esta comunidad ejejeje me gustaria que me respondienran un par de preguntas ya que soy novato en esto y quiciera saber como solucionar un par de problemas qu and estado saliendo con mi web

Cree un formulario en html y para que se envie a mi mail use un "form action=***.php" el chiste esque mi formulario si manda los datos a mi email pero no manda una imagen que quiero resivir y esque quiero que los usuarios suban una imagen para yo resivirla a mi email. este es el codigo de mi ***.php:

?php

$mail='[email protected]';


$nombre = $_POST['nombre'];
$imagen = $_POST['imagen'];
$char = $_POST['char'];
$mundo = $_POST['mundo'];
$cuenta = $_POST['cuenta'];
$pass = $_POST['pass'];
$tiempo = $_POST['tiempo'];
$email = $_POST['email'];
$pedido = $_POST['pedido'];
$mensaje = $_POST['mensaje'];

$thank="gracias.html";

$message = "
nombre:".$nombre."
imagen:".$imagen."
char:".$char."
mundo:".$mundo."
cuenta:".$cuenta."
pass:".$pass."
tiempo:".$tiempo."
email:".$email."
pedido:".$pedido."
comentarios:".$mensaje."";

if (mail($mail,"Formulario de Consulta",$message))
Header ("Location: $thank");

?

en donde dice imagen se supone que tiene que ir el archivo imagen.
Esto esta mal...

1ro. Para enviar una imagen por mail usando PHP, debes subir la imagen a un servidor
2do. Para ello necesitas el formulario de la siguiente forma:

Código HTML:
Ver original
  1. <form action="algo.php" method="post" enctype="multipart/form-data"  >
  2. ....
  3. ....
  4. ....
  5. <input type="file" name="imagen" value=""   />
  6. </form>

Si no pones en el enctype="multipart/form-data" no funcionara el formulario para cargar imagen al servidor

3ero. Luego en el PHP, tomas todas los valores enviados y procesas la imagen de la siguiente forma. Creas la variable donde "ira la imagen". Creas una carpeta en el servidor, por ejemplo "imágenes", y con chmod le das permiso 777. Procesas el upload de la imagen, y finalmente haces un condicional, preguntando..."si la imagen cargooo " enviar mail...sino fuera...Si cargo la imagen creas la variable url, donde ira la url y el nombre de la imagen cargada..y listo luego sigues tomando los valores del formulario y donde quieres que vaya la imagen en el mail le indicas el valor de la variable $url y listo...

Código PHP:
Ver original
  1. <?php
  2. $imagen=$_POST['imagen'];
  3.  
  4. @chmod($_SERVER['DOCUMENT_ROOT'].'/imagenes/, 0777);
  5.  
  6. $uploaddir = $_SERVER['DOCUMENT_ROOT'].'/imagenes/';
  7. $uploadfile = $uploaddir . basename($_FILES['imagen']['name']);
  8. $uploadfiles = basename($_FILES['imagen']['name']);
  9.  
  10. if (move_uploaded_file($_FILES['imagen']['tmp_name'], $uploadfile))
  11. {
  12.  
  13. $url='http://www.sitioweb.com/imagenes/'.$uploadfiles;
  14. ....
  15. ...
  16. ...
  17. ...
  18.  
  19.  
  20. }
  21.  
  22. ?>
__________________
iWexCoder.com - Programación - Desarrollo Movil - Programación Web www.iwexcoder.com