Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Formulario de contacto con adjunto

Buenas,

Como puedo hacer que este formulario que tengo creado me envie el adjunto al correo?

empleo.php
<?php
ob_start('compress_page');
require_once('conexion.php');
include('seguridad.php');
$menu='empleo';

if (isset($_POST['nombre']) && ($_POST['email']!='') && ($_POST['telefono']!='') && ($_POST['municipio']!='') && ($_POST['provincia']!='') && ($_POST['comentario']!='')){
//enviar contacto
// Llamando a los campos
    $nombre = $_POST['nombre'];
    $correo = $_POST['email'];
    $telefono = $_POST['telefono'];
    $municipio = $_POST['municipio'];
    $provincia = $_POST['provincia'];
    $mensaje = $_POST['comentario'];

// Datos para el correo
    $para = $correo;
    $titulo = "CV desde la web de GNELEC MONTAJES del usuario $nombre";
    $mensaje   = htmlentities($mensaje);

// Cabeceras
    $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
    $cabeceras .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $cabeceras .= 'From: Gnelec Montajes <"noreply@gnelec.es">' . "\r\n";
    $cabeceras .= 'Reply-To: '.$correo. "\r\n";
    $carta = '<html>
    <head>
       <title>' . $titulo . '</title>
    </head>
       <body>
            <h1>Has recibido un CV desde la web https://www.gnelec.es/</h1>
            <p>' . $nombre . ' vive en ' . $municipio. ' provincia de' . $provincia . ' <br> <br>
            Mensaje: ' . $mensaje . ' <br><br> Puedes ponerte en contacto al email: ' . $correo . ', o en el tel&eacute;fono: '.$telefono.'</p>
            <hr>
            <p>Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener informaci&oacute;n confidencial sometida a secreto profesional. No est&aacute; permitida su reproducci&oacute;n o distribuci&oacute;n sin la autorizaci&oacute;n expresa de Gnelec Montajes Sl. Si usted no es el destinatario final por favor elim&iacute;nelo e inf&oacute;rmenos por esta v&oicute;a.</p>
            <p>De acuerdo con la La Ley Org&aacute;nica de Protecci&oacute;n de Datos de Car&aacute;cter Personal, (LOPD), le informamos que sus datos personales y direcci&oacute;n de correo electr&oacute;nico forman parte de un fichero, cuyo responsable es GNELEC MONTAJES SL, siendo la finalidad del fichero: la gesti&oacute;n de car&aacute;cter comercial y el env&iacute;o de comunicaciones comerciales sobre nuestros productos y/o servicios.</p>
            <p>Si lo desea, podr&aacute; usted ejercitar los derechos de acceso, rectificaci&oacute;n, cancelaci&oacute;n y oposici&oacute;n de sus datos enviando un mensaje a la siguiente direcci&oacute;n de correo electr&oacute;nico a gnelec@gnelec.es  indicando en la l&iacute;nea de Asunto el derecho que desea ejercitar.</p>
            <hr>
            <p><strong>Este mensaje ha sido generado autom&aacute;ticamente desde https://www.gnelec.es/</strong></p>
    <body
   </html>';

// Enviando Mensaje
    mail($para, $titulo, utf8_decode($carta), $cabeceras);
    $copiaEnvio = mail($dato[1],$titulo,utf8_decode($carta),$cabeceras);
    header('Location:'.$_SERVER['PHP_SELF'].'?enviado');
}
?>
    <!DOCTYPE html>
    <html lang="es">

    <head>
        <meta charset="UTF-8">
        <title>
            <?php echo $dato[2]; ?>
        </title>
        <?php include("inc/head.php"); ?>
    </head>

    <body>
        <?php include("inc/header.php"); ?>
        <div class="container margen-arriba">
            <div class="row">
                <div class="col-md-3">
                    <?php include('inc/menu.php'); ?>
                </div>
                <div class="col-md-9">
                    <main class="formulario">
                        <h3 class="formulario__titulo">Trabaja con nosotros y se parte de nuestro equipo</h3>
                        <p class="formulario__texto">Comunicate en el siguiente teléfono/mail o completa el formulario</p>
                        <div class="row justify-content-center text-center">
                            <div class="col-3">
                                <h3 class="borde-abajo">Teléfono:</h3>
                                <i class="fas fa-phone-volume"></i><span class="telefono"></span>
                            </div>
                            <div class="col-3">
                                <h3 class="borde-abajo">E-mail: </h3>
                                <i class="fas fa-envelope"></i><a href="mailto:gnelec@gnelec.es"><span class="correo"></span></a>
                            </div>
                        </div>
                        <?php if(!isset($_GET['enviado'])){ ?>
                        <form method="post" class="formulario" id="form_contacto" onsubmit="return trabaja_ajax(names.value, email.value, phone.value, municipio.value, provincia.value, comentario.value, palabra.value, acepto_chk.value)">
                            <h3 class="formulario__titulo"> </h3>
                            <input type="text" name="nombre" id="names" class="formulario__input">
                            <label for="" class="formulario__label">Nombre</label>
                            <div class="row">
                                <div class="col-md-6">
                                    <input type="email" name="email" id="email" class="formulario__input">
                                    <label for="" class="formulario__label">Email</label>
                                </div>
                                <div class="col-md-6">
                                    <input type="tel" name="telefono" id="phone" class="formulario__input">
                                    <label for="" class="formulario__label">Teléfono</label>
                                </div>
                            </div>
                            <div class="row">
                                <div class="col-md-6">
                                    <input type="text" name="municipio" id="municipio" class="formulario__input">
                                    <label for="" class="formulario__label">Municipio</label>
                                </div>
                                <div class="col-md-6">
                                    <input type="text" name="provincia" id="provincia" class="formulario__input">
                                    <label for="" class="formulario__label">Provincia</label>
                                </div>
                            </div>
                            <div class="row py-3">
                                <div class="col-md-6">
                                    <div class="recaptcha">
                                        <span id="aleatorio"><?php include('inc/aleatorio.php'); ?></span>
                                    </div>
                                    <a class="cambiar_c text-center" onclick="cambiar_captcha();">Cambiar</a>
                                </div>
                                <div class="col-md-6">
                                    <input type="text" name="palabra" id="palabra" class="formulario__input">
                                    <label for="" class="formulario__label">Recaptcha</label>
                                </div>
                            </div>
                            <input type="file" name="adjunto" id="archivo-adjunto" class="formulario__input">
                            <textarea name="comentario" id="comentario" class="formulario__textarea"></textarea>
                            <label for="" class="formulario__label">Introduzca el mensaje deseado</label>
                            <div class="formulario__check acepto_chk text-center">
                                <input type="checkbox" name="acepto_chk" id="acepto_chk"> <span>He leído y acepto el <a href="<?php echo $dato[0]; ?>aviso-legal">aviso Legal</a></span>
                            </div>
                            <div class="form-group oculto" id="empleo-error">
                                <div class="alert alert-danger form-control form-control-sm" id="empleo-mensaje" role="alert">
                                    <strong>Error</strong>
                                </div>
                            </div>
                            <div class="row margen-abajo">
                                <div class="col-md-6">
                                    <input type="submit" class="formulario__submit" value="Enviar consulta">
                                </div>
                                <div class="col-md-6">
                                    <input type="reset" class="formulario__submit" value="Borrar Datos">
                                </div>
                            </div>
                            <p class="LOPD">
                                De acuerdo con la LOPD, le informamos que sus datos personales y dirección de correo electrónico forman parte de un fichero, cuyo responsable es Gnelec Montajes Sl, siendo la finalidad del fichero: la gestión de carácter comercial y el envío de comunicaciones comerciales sobre nuestros productos y/o servicios. Si lo desea, podrá usted ejercitar los derechos de acceso, rectificación, cancelación y oposición de sus datos enviando un mensaje a la siguiente dirección de correo electrónico a <a href="mailto:gnelec@gnelec.es">gnelec@gnelec.es</a> indicando en la línea de “Asunto” el derecho que desea ejercitar.
                            </p>
                        </form>
                        <?php } else { ?>
                        <div class="contacto-ok margen-arriba">
                            <div class="form-group align-self-center">
                                <div class="alert alert-success form-control form-control-sm" role="alert">
                                    <strong>El mensaje se ha enviado correctamente, se mandará una copia del mensaje a su correo</strong>
                                </div>
                            </div>
                        </div>
                        <?php  }?>
                    </main>
                </div>
            </div>
        </div>
        <?php include("inc/footer.php"); ?>
    </body>

    </html>
    <?php ob_end_flush();
function compress_page($buffer)
{
    $search = array('/\>[^\S ]+/s','/[^\S ]+\</s','/(\s)+/s');
    $replace = array('>','<','\\1');
    return preg_replace($search, $replace, $buffer);
}
?>
efectos.js
function trabaja_ajax(names,email,phone,municipio,provincia,comentario,palabra,acepto_chk) {
    var capturarpalabra=$('#aleatorio').text();
    if(limpiar(names)!='' && limpiar(email)!='' && limpiar(phone)!='' && limpiar(municipio)!='' && limpiar(provincia)!='' && limpiar(comentario)!='' && limpiar(palabra)!='' && limpiar(palabra)==limpiar(capturarpalabra) && (document.getElementById("acepto_chk").checked==true)){
        //ok
        return true;
    } else {
        $('#empleo-error').fadeIn(500);
        $('#empleo-mensaje').text('Complete los campos o Acepta los terminos y condiciones');
        cambiar_captcha();
        $('#palabra').val('');
        return false;
    }
}
0
Puntos
1256
Visitas
2
Resp
Por infspirit hace 70 meses
Principiante Sitio web
Respuesta #1
hola buenas, primero necesitas agregar a tu formulario enctype="multipart/form-data" para que a parte de enviar los valores envíe los ficheros que cargas en el form.

cambias esto:
<form method="post" class="formulario" id="form_contacto" onsubmit="return trabaja_ajax(names.value, email.value, phone.value, municipio.value, provincia.value, comentario.value, palabra.value, acepto_chk.value)">
por esto:
<form method="post" class="formulario" id="form_contacto" enctype="multipart/form-data" onsubmit="return trabaja_ajax(names.value, email.value, phone.value, municipio.value, provincia.value, comentario.value, palabra.value, acepto_chk.value)">
0
Puntos
Por alber hace 70 meses
Administrador
Respuesta #2
luego para enviar el fichero como tal es algo mas complejo pero puedes usar la librería PHPMailer para hacer mucho mas fácil, con algo así:
$file_to_attach = 'PATH_OF_YOUR_FILE_HERE';
$email->AddAttachment( $file_to_attach , 'NameOfFile.pdf' );
te voy a pasar una guía completa de como usar phpmailer de una manera muy fácil y práctica, solo tienes que agregarle las lineas que te eh pasado antes para añadir ficheros al envío, así de sencillo ;)

slds
0
Puntos
Por alber hace 70 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate