Foros del Web » Programando para Internet » PHP »

Problema formulario con adjunto

Estas en el tema de Problema formulario con adjunto en el foro de PHP en Foros del Web. Buenas amigos, primero los felicito a todos por el foro. De verdad creo el tema porque la ayuda que nesecito es bien espesifica bueno, aqui ...
  #1 (permalink)  
Antiguo 18/11/2008, 13:31
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
Problema formulario con adjunto

Buenas amigos, primero los felicito a todos por el foro.

De verdad creo el tema porque la ayuda que nesecito es bien espesifica
bueno, aqui va:

Como algunos que llegan aqui a preguntar, yo tampoco sé nada de PHP, trabajo de diseñador gráfico, pero como ven siempre nos toca arrimarnos a los codigos de programación. Un ámigo, que solo sabe un poco de PHP me ayudó con unos formularios con envio a e-mails para una página web, hicimos 3, 2 quedaron perfectos y 1 es el que esta dando guerra

Resulta que este formulario envia una información diferente a 2 correos, uno para el administrador y otro para el cliente. Además a el cliente le llega un .PDF adjunto en el mismo correo

Resulta que: el primer correo llega bien (el que es para el administrador)
pero el segundo me llega con la chorrera de codigo HTML
cabe destacar que el PDF adjunto si llega :P
como me llega el correo lo pongo a continuacion:




Tambien hay que destacar que las variables estan llegando y bien, por eso pienso que debe ser una tonteria el error. y descarto la posibilidad de que sea un error en el flash donde se hizo el formulario.

ahora adjunto el codigo del PHP:

(no pude colocar el codigo, porque me decia que es muy largo, asi que lo subi a rapidshare el php, espero sepan disculparme, si hay otra forma de adjuntarlo, diganmela)
Descarga: http://rapidshare.com/files/165083384/confir3.php.html


espero haberme explicado bien y espero que entiendan que estamos haciendo mal. un saludo a todos y gracias de antemano.

PD: ah! tambien queria saber, porque diablos el correo llega con el titulo de "Nobody" ???????

Última edición por Furioux; 18/11/2008 a las 13:38
  #2 (permalink)  
Antiguo 18/11/2008, 14:18
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: Problema formulario con adjunto

Puede ser un problema de codificación, no he visto el código, pero te recomiendo busques la clase PHPMailer con ella puedes codificar correos en HTML de forma correcta para que no pase eso.

Saludos
  #3 (permalink)  
Antiguo 18/11/2008, 14:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema formulario con adjunto

jajaj gracias pero quedé igual, como dije antes muy muy poco sé de php,
a el que me resuelva el problemita le regalo los 3 formularios con sus editables en flash.
(que no son nada despreciables, los pueden ver en www.lacomadreanita.com/reservaciones.html)

gracias por responder tan pronto GatorV
  #4 (permalink)  
Antiguo 18/11/2008, 15:07
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Respuesta: Problema formulario con adjunto

Y si pones el código del php? =P lo mas probable es que te falte la cabecera del mail que indica que el contenido es HTML.
__________________
Sin Ideas
  #5 (permalink)  
Antiguo 18/11/2008, 15:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema formulario con adjunto

pero amigo, lo trato de poner, pero me dice que es muy largo y no me deja el foro, por eso lo subi a rapidshare, y pregunté si habia otra forma de colocar los codigos aca.

bueno se me ocurrio, pegarlo en 2 post, asi que aqui va:
1ra parte:
Código PHP:
<?php
$vnombres
=$_POST['vnombres'];
$vemail $_POST['vemail'];
$vcedula $_POST['vcedula'];
$vfentrada $_POST['vfentrada'];
$vfsalida $_POST['vfsalida'];
$vcomentarios $_POST['vcomentarios'];
$vtipopago $_POST['vtipopago'];
$vf_pago $_POST['vf_pago'];
$vmonto $_POST['vmonto'];
$vdeposito $_POST['vdeposito'];
$vbancodestino $_POST['vbancodestino'];
$vhabita $_POST['vhabita'];
$vnoches $_POST['vnoches'];

$aleatorio md5(time().rand(1,100));
$fecha date("d-M-y H:i");

$file fopen("mapa.pdf""r"); 
$archi fread($filefilesize("mapa.pdf")); 
$encoded_attach chunk_split(base64_encode($archi)); 
fclose($file); 

$mensaje='
<html>
<head>
<title>Confirmación de Pago</title>
<style type="text/css">
<!--
.style2 {color: #000000; font-size: 12px; }
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
}
.style9 {
    font-size: 14px;
    font-weight: bold;
    color: #FFFFFF;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body link="/* CCCCCC" vlink="/* FFFFFF" alink="/* CC0033">
<table width="553" height="490" border="0" align="center" class="tImagen">
  <tr>
    <th width="547" height="200">
      <div align="center">
        <table border="1" align="center" cellpadding="4" cellspacing="0">
          <tr>
            <td colspan="3" valign="top" bordercolor="#FFFFFF" bgcolor="#000099" class="style2"><div align="center" class="style9"> Confirmación de Pago</div></td>
          </tr>
          <tr>
            <td width="159" colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2"><p>Nombres:</p></td>
            <td width="355" valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2"><p>'
.$vnombres.'</p></td>
          </tr>
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2"><p>Cédula:</p></td>
            <td width="355" valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2"><p>'
.$vcedula.'</p></td>
          </tr>
          
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2"><p>Email:</p></td>
            <td width="355" valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2"><p>'
.$vemail.'</p></td>
          </tr>
          
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2"><p>Fecha de Entrada:</p></td>
            <td width="355" valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2"><p>'
.$vfentrada.'</p></td>
          </tr>
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2"><p>Fecha de Salida:</p></td>
            <td width="355" valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2"><p>'
.$vfsalida.'</p></td>
          </tr>
          
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2"><p>Habitaciones:</p></td>
            <td width="355" valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2"><p>'
.$vhabita.'</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p></td>
          </tr>
          
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2">Tipo de Pago:</td>
            <td valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2">'
.$vtipopago.'</td>
          </tr>
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2">Banco Destino:</td>
            <td valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2">'
.$vbancodestino.'</td>
          </tr>
          
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2">Fecha de Pago:</td>
            <td valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2">'
.$vf_pago.'</td>
          </tr>
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2">Monto de la Transacción:</td>
            <td valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2">'
.$vmonto.'</td>
          </tr>
          <tr>
            <td colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2">Depósito o Transferencia:</td>
            <td valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2">'
.$vdeposito.'</td>
          </tr>
          
          <tr>
            <td height="206" colspan="2" valign="top" bordercolor="#FFFFFF" bgcolor="#0099CC" class="style2"><p>Comentario:</p>
              <p>&nbsp;</p>
              <p>&nbsp;</p>
              <p>&nbsp;</p>
              <p>&nbsp;</p>
            <p>&nbsp;</p></td>
            <td width="355" valign="top" bordercolor="#000000" bgcolor="#FFFFFF" class="style2"><p>'
.$vcomentarios.'</p></td>
          </tr>
        </table>
    </div></th>
  </tr>
</table>
</body>
</html>
'
;
hasta aqui creo que va el primer correo que si lo manda bien y digo "creo"

Última edición por Furioux; 18/11/2008 a las 15:43
  #6 (permalink)  
Antiguo 18/11/2008, 15:46
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema formulario con adjunto

Segunda parte del mismo:
Código PHP:


$destinatario
="[email protected]";
    
$cabeceras="MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=utf-8\r\n";
$cabeceras.="From: {$_POST['vnombres']}<{$_POST['vemail']}>\r\n";
$cabeceras.="Reply-To: {$_POST['vemail']}\r\n";

$asunto="Confirmación de Pago";

$cuerpo=' Ha recibido un email de '.$_POST['vnombres'].' '.$_POST['vapellidos'].' ( '.$_POST['vemail'].' ) con el siguiente contenido:';
$cuerpo.='                                   ';
$cuerpo.='                                   ';
$cuerpo.=$mensaje;
$cuerpo.='                                   ';
$cuerpo.="Número de Serie: {$aleatorio}";
$cuerpo.="Fecha: {$fecha}";



mail($destinatario$asunto$cuerpo,$cabeceras);


$mensaje '
<html>
<head>
<title>Confirmacion de Pago</title>
<style type="text/css">
<!--
body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000000;
    line-height: 18px;
}
.style11 {color: #000000; font-size: 12px; font-weight: bold; }
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="Mis documentos/trabajos/formreserva/sdss.css" rel="stylesheet" type="text/css">
</head>
<body link="/* CCCCCC" vlink="/* FFFFFF" alink="/* CC0033">
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <th scope="col">&nbsp;</th>
  </tr>
  
  <tr>
    <th height="18" scope="col">Confirmación de Pago</th>
  </tr>
  <tr>
    <th height="18" scope="col">&nbsp;</th>
  </tr>
  <tr>
    <th height="18" scope="col"><p align="left">Sr.(a): <strong><span class="style11">'
.$vnombres.'</span></strong> .</p>    </th>
  </tr>
  <tr>
    <td scope="col">  <div align="justify">
      <p align="justify">El Día<strong> <span class="style11">'
.$vf_pago.'</span> </strong>, se recibió de la cuenta del Banco<strong> '.$vbancodestino.'</strong> a nombre de Posada La Comadre Anita un depósito por <span class="style11">'.$vmonto.'</span> Bsf serial Nº <span class="style11">'.$vdeposito.' '.$vnutran.'</span>, por reservación al alojamiento en <strong>'.$vhabita.' </strong>desde el <strong>'.$vfentrada.' </strong>hasta el<strong> '.$vfsalida.' </strong>comprendiendo un total de<strong> '.$vnoches.' </strong>noches, con sus respectivos desayunos incluidos.</p>
    </div></td>
  </tr>
  <tr>
    <td align="left" scope="col">&nbsp;</td>
  </tr>
  <tr>
    <td align="left" scope="col">Lic. Carlos Contreras.</td>
  </tr>
  <tr>
    <td align="left" scope="col">Móvil: 0414-3742313</td>
  </tr>
  <tr>
    <td align="left" scope="col">&nbsp; </td>
  </tr>
  <tr>
    <th align="left" scope="col">Nota:</th>
  </tr>
  <tr>
    <th align="left" scope="col"><ul>
      <li>Entregar el depósito en el momento del Registro.</li>
      <li>Al llegar a la cuidad de Mérida, hacer un contacto telefónico.</li>
      <li>Conservar Crokis de ubicación adjunto en este correo.</li>
    </ul>    </th>
  </tr>
  <tr>
    <th align="left" scope="col">&nbsp;</th>
  </tr>
  <tr>
    <th align="left" scope="col">Dirección:</th>
  </tr>
  <tr>
    <td align="left" scope="col">Final de la Av. Los proceres, comenzando la vía a Jají, pasando el puente La Pedregosa, despues de la segunda curva, loma Los Maitines, final de la vía principal, sector La Asunción, finca La Comadre, Mérida Venezuela.</td>
  </tr>
  <tr>
    <th align="left" scope="col">&nbsp;</th>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>
'
;


//( "Content-Type: application/octet-stream");

$mime_boundary "<<<--==+X[".md5(time())."]";


$correoanita="[email protected]";
$destinatario=$_POST['vemail'];
    
$cabeceras="MIME-Version: 1.0\r\n";
//$cabeceras .= "Content-type: text/html; charset=utf-8\r\n";

$cabeceras .="Content-type: multipart/mixed; ";
$cabeceras .="boundary=\"".$mime_boundary."\"";

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

$cabeceras .= "Content-transfer-encoding: 7BIT\n"
$cabeceras .= "X-attachments: mapa.pdf"



$cabeceras.="From: Posada La Comadre Anita<{$correoanita}>\r\n";
$cabeceras.="Reply-To: {$correoanita}\r\n";

$asunto="Confirmación de Pago";

$cuer=' Ha recibido un email de Posada La Comadre Anita ( '.$correoanita.' ) con el siguiente contenido:';
$cuer.='                                   ';
$cuer.=$mensaje;
$cuer.="Número de Serie: {$aleatorio}";
$cuer.="Fecha: {$fecha}";

$de=$correoanita;


//$body_top = "--Message-Boundary\n"; 

$body_top ="\r\n";
$body_top ="--".$mime_boundary."\r\n";
$body_top .= "Content-type: text/plain; charset=US-ASCII\n"
$body_top .= "Content-transfer-encoding: 7BIT\n"
$body_top .= "Content-description: Mail message body\n\n"
$cuerpo $body_top.$cuer

$nombref="mapa.pdf";
$cuerpo .= "\n\n--".$mime_boundary."\n"
$cuerpo .= "Content-type: Binary; name=\"$nombref\"\n"
$cuerpo .= "Content-Transfer-Encoding: BASE64\n"
$cuerpo .= "Content-disposition: attachment; filename=\"$nombref\"\n\n"
$cuerpo .= "$encoded_attach\n"
$cuerpo .= "--".$mime_boundary."--\n"



if(
mail($destinatario$asunto$cuerpo,$cabeceras)){
    echo 
utf8_encode('&estatus=enviado&');     
}else{
     echo 
utf8_encode('&estatus=no_enviado&');    


?> 
  #7 (permalink)  
Antiguo 18/11/2008, 16:12
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: Problema formulario con adjunto

Mmm el error esta aca: $body_top .= "Content-type: text/plain; charset=US-ASCII\n";, lo estas enviando como text/plain, y ahi debe ir text/html.

Saludos
  #8 (permalink)  
Antiguo 18/11/2008, 16:48
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema formulario con adjunto

gracias GatorV,

funciona perfecto muchisisimas gracias (yo sabia que era una mariquera) , los formularios estan a la orden si los quieres men.

Tengo 2 duditas que me quedan:
los acentos no llegan, me quita las letras que tienen acentos, entonces las palabras quedan cortadas.
y el nombre del correo es "Nobody" ¿como lo arreglo?.


muchas gracias por la ayuda
  #9 (permalink)  
Antiguo 18/11/2008, 16:57
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: Problema formulario con adjunto

Por lo que veo usas utf8, entonces solo cambia tambien el charset de ASCII a UTF8 en la misma linea.

Sí estas definiendo la cabecera de From por lo que igual vas a tener que agregar un ini_set('sendmail_from', '[email protected]') antes de usar mail().

Saludos
  #10 (permalink)  
Antiguo 19/11/2008, 07:24
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema formulario con adjunto

gracias por la ayuda, voy a probar eso ultimo y te cuento.


mil gracias
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 15:17.