PHP - Necesito codigo php para formulario

   
Vista:

Necesito codigo php para formulario

Publicado por Pablo (2 intervenciones) el 13/11/2013 22:09:28
Que tal, hice un formulario de contacto con archivo adjunto, todos los campos funcionan ok pero adjunto el archivo y no se que codigo php poner para que llegue el archivo adjunto. Paso los codigos html y php para ver si me pueden dar una solucion. Gracias.

El HTML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<form action="recibe3.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="461" height="344" border="0" cellpadding="0" cellspacing="2">
<tr>
<td height="24" colspan="2" align="center" bgcolor="#90627C"><img src="images/rrhh/proftop.jpg" width="458" height="100" /><br></td>
</tr>
<tr>
<td height="24" align="right">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="164" height="24" align="right"><span class="Estilo3">Nombre y Apellido: </span></td>
<td width="292"><input name="cf_nombre" type="text" id="nombre" size="40" /></td>
</tr>
<tr>
<td height="24" align="right"><span class="Estilo3">Nacionalidad:</span></td>
<td><label>
<input name="cf_nacionalidad" type="text" id="cf_nacionalidad" size="40" />
</label></td>
</tr>
<tr>
<td height="24" align="right"><span class="Estilo3">Fecha de Nacimiento: </span></td>
<td><label>
<input name="cf_fecha" type="text" id="cf_fecha" size="40" />
</label></td>
</tr>
<tr>
<td height="24" align="right"><span class="Estilo3">E-mail:</span></td>
<td><label>
<input name="cf_mail" type="text" id="cf_mail" size="40" />
</label></td>
</tr>
<tr>
<td height="24" align="right"><span class="Estilo3">Tel&eacute;fono:</span></td>
<td><label>
<input name="cf_telefono" type="text" id="cf_telefono" size="40" />
</label></td>
</tr>
<tr>
<td height="24" align="right"><span class="Estilo3">Domicilio:</span></td>
<td><label>
<input name="cf_domicilio" type="text" id="cf_domicilio" size="40" />
</label></td>
</tr>
<tr>
<td height="24" align="right"><span class="Estilo3">Ciudad:</span></td>
<td><label>
<input name="cf_ciudad" type="text" id="cf_ciudad" size="40" />
</label></td>
</tr>
<tr>
<td height="24" align="right"><span class="Estilo3">Provincia:</span></td>
<td><label>
<input name="cf_provincia" type="text" id="cf_provincia" size="40" />
</label></td>
</tr>
<tr>
<td height="24" align="right"><span class="Estilo3">Area de Inter&eacute;s: </span></td>
<td><label>
<input name="cf_area" type="text" id="cf_area" size="40" />
</label></td>
</tr>
<tr>
<td height="26" align="right"><span class="Estilo3">Adjuntar CV: </span></td>
<td><label>
<input type="file" name="cf_adjunto" id="cf_adjunto" />
</label></td>
</tr>
<tr>
<td height="26" align="right">&nbsp;</td>
<td><label>
<input type="submit" name="Submit" value="Enviar" />
</label></td>
</tr>
</table>
</form>

El PHP que es lo que me está haciendo falta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
$field_nombre = $_POST['cf_nombre'];
$field_nacionalidad = $_POST['cf_nacionalidad'];
$field_fecha = $_POST['cf_fecha'];
$field_mail = $_POST['cf_mail'];
$field_telefono = $_POST['cf_telefono'];
$field_domicilio = $_POST['cf_domicilio'];
$field_ciudad = $_POST['cf_ciudad'];
$field_provincia = $_POST['cf_provincia'];
$field_area = $_POST['cf_area'];
 
$mail_to = 'xxx@xxxxxxx.com.ar';
$subject = 'Mensaje recibido desde formulario web de '.$field_name;
 
$body_message = 'De: '.$field_nombre."\n";
$body_message .= 'Nacionalidad: '.$field_nacionalidad."\n";
$body_message .= 'Fecha de Nacimiento: '.$field_fecha."\n";
$body_message .= 'Email: '.$field_mail."\n";
$body_message .= 'Tel: '.$field_telefono."\n";
$body_message .= 'Domicilio: '.$field_domicilio."\n";
$body_message .= 'Ciudad: '.$field_ciudad."\n";
$body_message .= 'Provincia: '.$field_provincia."\n";
$body_message .= 'Area: '.$field_area."\n";
 
 
 
$headers = 'From: '.$field_nombre."\r\n";
$headers .= 'Reply-To: '.$field_mail."\r\n";
 
$mail_status = mail($mail_to, $subject, $body_message, $headers);
 
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Gracias por comunicarse con nosotros. Muy pronto nos pondremos en contacto con usted.');
window.location = 'xxxxxx.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Error. Por favor enviar mail a xxxx@xxxxxxxxxosweb.com.ar');
window.location = 'contacto.html';
</script>
<?php
}
?>

Desde ya muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Necesito codigo php para formulario

Publicado por xve (5518 intervenciones) el 13/11/2013 22:41:05
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito codigo php para formulario

Publicado por Pablo (2 intervenciones) el 13/11/2013 22:52:32
gracias pero ese codigo no me sirve, lo unico que me hace falta el el php del campo para enviar el archivo adjunto. saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Necesito codigo php para formulario

Publicado por xve (5518 intervenciones) el 14/11/2013 07:34:12
Hola Pablo, no te entiendo... en el ejemplo que te he indicado, se muestra como con PHP enviar el archivo adjunto por correo con la instrucción mail()...

Veo que en el formulario lo tienes bien, por lo que creo que solo te falta esta parte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito codigo php para formulario

Publicado por Nacho (2 intervenciones) el 14/11/2013 07:47:40
Hola.

Creo que lo que necesitás es comprender que PHP no pasa el adjunto como un campo. Por lo tanto no vas a tener una variable $_POST['cf_adjunto'] y no es un par de líneas y nada más, es más complejo.

Vas a tener una variable $_FILES['cf_adjunto'] que es un array de otros valores mas. Uno de esos valores es una ruta donde PHP guarda el binario del archivo que se subió. Y conociendo esa ruta ya luego la usás para lo que quieras.

Mirá el manual de PHP en el capítulo que habla de los uploads.

saludos
Nacho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito codigo php para formulario

Publicado por Elier (92 intervenciones) el 14/11/2013 18:33:50
Como bien dice nacho cuando se sube un archivo existe $_FILES['cf_adjunto'] en el que se guarda la información del archivo, es decir: name, type, size, tmp_name, error.

Si el archivo se subió correctamente tienes que moverlo de la carpeta temporal del servidor hacia una carpeta donde almacenaras los archivos de forma definitiva lo cual lo haces con move_uploaded_file a la que le pasas el nombre temporal del archivo y la ruta + nombre definitivo del archivo.

http://php.net/manual/es/features.file-upload.post-method.php

Después tienes que poner correctamente los encabezamientos para que se adjunte el mensaje

http://www.php.net/manual/es/function.mail.php#105661

Te sugiero uses http://swiftmailer.org/ para que te sea mucho mas fácil el envio de mensajes, como ver aquí http://swiftmailer.org/docs/messages.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito codigo php para formulario

Publicado por Sergio redfalconland@gmail.com (1 intervención) el 16/11/2013 11:22:13
Hola Pablo
Te mando dos enlaces donde podrás bajarte dos formularios que yo hice, espero te sirvan de guía.
Si tienes alguna duda dímelo

Este tiene autorespuesta y base de datos:
http://www.lawebdelprogramador.com/codigo/PHP/1764-Formulario_contacto_con_autorespuesta_y_base_de_datos.html

Este solo tiene autorespuesta:
http://www.lawebdelprogramador.com/codigo/PHP/1758-Formulario_de_contacto_con_autorespuesta.html

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar