Foros del Web » Programando para Internet » PHP »

formulario que envia a email una foto

Estas en el tema de formulario que envia a email una foto en el foro de PHP en Foros del Web. hola, he leido algo, pero no me convenció mucho, y he creado un form, y quiero que llegue a mi email(hasta ahi bien) ahora lo ...
  #1 (permalink)  
Antiguo 25/08/2009, 07:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 8 meses
Puntos: 2
formulario que envia a email una foto

hola, he leido algo, pero no me convenció mucho, y he creado un form, y quiero que llegue a mi email(hasta ahi bien) ahora lo que quiero es que tb se adjunte una foto, y no se x donde empezar, aqui el form

Código HTML:
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <p><br>
    Titulo<br />
    <label>
      <input type="text" name="titulo" id="titulo" />
    </label>
  </p>
  <p> <br>
    Fotografia<br />
    <label>
      <input type="file" name="imagen" id="imagen" />
    </label>
  </p>
  </p>
  <br>
  Descripción:<br />
    <label>
      <textarea name="descripcion" id="descripcion" cols="50" rows="10"></textarea>
    </label>
  </p>
  <p><br>
    Lugar
    <br />
    <label>
      <input type="text" name="lugar" id="lugar" />
    </label>
  </p>
  <p> <br>
    Fecha
    <br />
    <select name="d" id="d">
      <option selected="selected">1</option>
      <option>2</option>
      <option>3</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
      <option>7</option>
      <option>8</option>
      <option>9</option>
      <option>10</option>
      <option>11</option>
      <option>12</option>
      <option>13</option>
      <option>14</option>
      <option>15</option>
      <option>16</option>
      <option>17</option>
      <option>18</option>
      <option>19</option>
      <option>20</option>
      <option>21</option>
      <option>22</option>
      <option>23</option>
      <option>24</option>
      <option>25</option>
      <option>26</option>
      <option>27</option>
      <option>28</option>
      <option>29</option>
      <option>30</option>
      <option>31</option>
    </select>
    <select name="m" id="m">
      <option>Enero</option>
      <option>Febrero</option>
      <option>Marzo</option>
      <option>Abril</option>
      <option>Mayo</option>
      <option>Junio</option>
      <option>Julio</option>
      <option>Agosto</option>
      <option>Septiembre</option>
      <option>Octubre</option>
      <option>Noviembre</option>
      <option>Diciembre</option>
    </select>
    <label>
      <select name="ano" id="ano">
        <option>2009</option>
        <option>2010</option>
        </select>
    </label>
  </p>
  <br>Tipo:<br />
    <label>
      <select name="tipo" id="tipo">
        <option>Competición </option>
        <option>Reunión</option>
        <option>Protesta </option>
        <option>Evento oficial</option>
      </select>
    </label>
</form> 
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #2 (permalink)  
Antiguo 25/08/2009, 08:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: formulario que envia a email una foto

Usa phpmailer te permite adjuntar fotos y archivos de una forma sencilla.

Saludos.
  #3 (permalink)  
Antiguo 25/08/2009, 15:26
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: formulario que envia a email una foto

ok gracias, ya lo he puesto y tal, y cuando lo ejecuto la pantalla se queda en blanco, y no tengo puesto ni en .htacess ni php.ini que no se muestren los errores, es mas, en este alojamiento se muestran mas errores de lo normal, pero no, la pantalla se queda en blanco, aqui el codigo
Código PHP:
<?PHP
session_start
();
require(
"../class.phpmailer.php");
$titulo=$_POST["titulo"];
$file $_FILES['fileField']['name'];
$fecha=date("Y/m/d H:i:s");
$carpeta="archivosusuario/fotos/eventos";
function 
genera_random($longitud){  
$exp_reg="[^A-Z0-9]";  
return 
substr(eregi_replace($exp_reg""md5(rand())) .  
eregi_replace($exp_reg""md5(rand())) .  
eregi_replace($exp_reg""md5(rand())),  
0$longitud);  
}
$nombre genera_random(3);
if(
is_uploaded_file($_FILES['fupload']['tmp_name'])){
        
        if(
$_FILES['fupload']['type'] == "image/jpeg"){

            
$fupload_name genera_random(3);
            
$file_dir ="archivosusuario/fotos/eventos"// crea un directorio "imagenes" en la carpeta donde este este archivo
            
if (move_uploaded_file($_FILES['fupload']['tmp_name'], "$file_dir/$fupload_name")){
$descripcion=$_POST["descripcion"];
$lugar=$_POST["lugar"];
$fecha=$_POST['d'].'-'.$_POST['m'].'-'.$_POST['ano'];
$tipo=$_POST["tipo"];
$nick=$_SESSION[nick];
$email=$_SESSION[email];

if(
$descripcion=="" or $lugar=="" or $fecha=="" or $tipo=="" or $titulo==""){
    Print 
"Revise el formulario, quedan campos sin rellenar";}
else
{
   
$mail = new PHPMailer();
   
$mail->Host "localhost";
   
$mail->From $email;
   
$mail->FromName =$nick;
   
$mail->Subject "Nuevo evento";
   
$mail->AddAddress("[email protected]");


        
        
$body1 "El usuario".$nick."Quiere añadir un evento<br><br><br>";
        
$body2 "Titulo:".$titulo."<br><br>";
        
$body3 "Descripcion:".$descripcion."<br><br>";
        
$body4 "Lugar".$lugar."<br><br>";
        
$body5 "Fecha:".$fecha."<br><br>";
        
$body6 "Tipo:".$tipo."<br><br>";
        
$body7 "email".$email."<br><br>";
        
$body8 "<strong>Consulta:</strong><br><br>".$consulta."<br><br><br><br><br>";
        
        
   
$mail->Body $body1$body2$body3$body4$body5$body6$body7$body8;
   
$mail->AddAttachment("http://www.url.es/pages/archivosusuario/eventos/.'$fupload_name.'jpg""$fupload_name.jpg");
   
$mail->IsHTML(true);
   
$mail->Send();

    Print 
"El evento ha sido enviado correctamente, en los próximos dias aparecerá el evento tras la revisión del administrador";
}}}}
?>
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
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:41.