| |||
ayuda con formulario Wuenas a todos tengo un pequeño problema y es el siguiente, tengo un formulario en flash que se enviara a un correo ya tengo todo probado y jala bien pero me he topado con un problemilla y es que en este formulario requiero que tambien se manden unos archivos y es aqui donde no se como hacer esto solo he logrado enviar texto |
| |||
Respuesta: ayuda con formulario mira Formulario.php: <form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data"> <p>Nombre <input type='text' name='Nombre' id='Nombre'></p> <p>E-mail <input type='text' name='email' id='email'> </p> <p>Asunto <input type='text' name='asunto' id='asunto' /> </p> <p>Mensaje <textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea> </p> <p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p> <p> <input type='submit' value='Enviar'> </p> </form> Como podéis ver, en el form del código anterior, se manda a enviar.php, ese archivo es el que va a mandar el email con el archivo adjunto. Aquí os dejo el codigo enviar.php: <?php function form_mail($sPara, $sAsunto, $sTexto, $sDe) { $bHayFicheros = 0; $sCabeceraTexto = ""; $sAdjuntos = ""; if ($sDe)$sCabeceras = "From:".$sDe."\n"; else $sCabeceras = ""; $sCabeceras .= "MIME-version: 1.0\n"; foreach ($_POST as $sNombre => $sValor) $sTexto = $sTexto."\n".$sNombre." = ".$sValor; foreach ($_FILES as $vAdjunto) { if ($bHayFicheros == 0) { $bHayFicheros = 1; $sCabeceras .= "Content-type: multipart/mixed;"; $sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n"; $sCabeceraTexto = "----_Separador-de-mensajes_--\n"; $sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n"; $sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n"; $sTexto = $sCabeceraTexto.$sTexto; } if ($vAdjunto["size"] > 0) { $sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n"; $sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";; $sAdjuntos .= "Content-Transfer-Encoding: BASE64\n"; $sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n"; $oFichero = fopen($vAdjunto["tmp_name"], 'r'); $sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"])); $sAdjuntos .= chunk_split(base64_encode($sContenido)); fclose($oFichero); } } if ($bHayFicheros) $sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n"; return(mail($sPara, $sAsunto, $sTexto, $sCabeceras)); } //cambiar aqui el email if (form_mail("[email protected]", $_POST[asunto], "Los datos introducidos en el formulario son:\n\n", $_POST[email])) echo "Su formulario ha sido enviado con exito"; ?> Tan solo debemos cambiar el email que aparece por el nuestro y ya estará listo. FUENTE:http://www.original-design.es/tutoriales/email_con_archivos_adjuntos_php.php utiliza google de vez en cuando (No lo quiero que lo tomes como regaño o algo asi :) ) |
| |||
Respuesta: ayuda con formulario wuennas en verdad agradezco la informacion pero creo que no me explique bien, ya tengo echo un formulario en flash sc3 y tengo el codigo en actionScript y en php y todo esta a la perfeccion pero ahora requiero que en el formulario pueda yo cargar un archivo y enviarlo a un correo, ese es el problema, he buscado en google pero todos los formularios son simples para enviar texto solamente. GRACIAS Pilopiart |
| ||||
Respuesta: ayuda con formulario Hola Bueno, pues no he realizado esa operación, pero creo que necesitas 3 cosas 0. Usar filereference en as (sea 2 o 3) para cargar los archivos para adjuntar (esto te abrira la ventana examinar cual adjuntar archivos en correo electrónico y tiene para uno o varios archivos) 1. El filereference te da la interfaz, pero a la hora de subir el adjunto (pues necesitas ubicarlo en un directorio para posteriormente enviarlo) necesitas un archivo php que te haga el upload del archivo o archivos que adjuntaste (este php es distinto al de envio de mail) Para puntos < 2 ver este link 2. Finalmente, necesitas lo que te comento PilopiArt, el php que envíe el mail con los adjuntos (que tal vez ya tengas si usas phpmailer por ej) Espero te sirva los apuntes saludos |
Etiquetas: |