He realizado un formulario como éste:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript" src="../scripts/validador.js"></script>
<link href="../css.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="700" border="0" align="center" bordercolor="#000000">
<tr>
<td><table width="700" border="0">
<tr>
<td width="1"> </td>
<td colspan="3">
<img src="img/cabecera.png" width="657" height="77" border="0">
<hr class="hr"> </td>
<td width="1"> </td>
</tr>
<tr>
<td> </td>
<td colspan="3">
<table width="700">
<tr>
<td width="657" align="center"><font class="titulos">formulario de registro</font></td></tr>
<tr>
<td width="657" align="center">
<?
function comprova_obligatoris($array) {
GLOBAL $HTTP_POST_VARS;
$camps_buits=array();
foreach ($array as $camp_oblig){
if (!isset($HTTP_POST_VARS[$camp_oblig]) || ($HTTP_POST_VARS[$camp_oblig]=="")) {
$camps_buits[]=$camp_oblig;
}
}
return $camps_buits;
}
$array_oblig = array ("nombre", "apellidos", "email", "cp", "pais", "telefono", "trabajo", "acepto");
$buits = comprova_obligatoris($array_oblig);
if (!isset($HTTP_POST_VARS['ENVIAT']) || (isset($HTTP_POST_VARS['ENVIAT']) && (count($buits)!=0))){
if (isset($HTTP_POST_VARS['ENVIAT']) && (count($buits)!=0)){
$camps= "";
foreach ($buits as $camp_buit){
if ($camps != "") $camps .= ", ";
$camps .= $camp_buit;
}
echo '<div class="campos_obligatorios" style="width: 700px; position:relative; left:156px;" align="center">Los campos marcados con un asterisco (*) son obligatorios.</div>';
}
?>
<form action="" method="POST" enctype="multipart/form-data" name="nombrevalidador">
<input type="hidden" name="ENVIAT" value"OK" />
<table width="657" border="0" class="textocontenidos">
<tr>
<td><font class="asteriscos">*</font> Nombre:<br><input type="text" name="nombre" size=47 class="combo"></td>
<td><font class="asteriscos">*</font> Apellido(s):<br><input type="text" name="apellidos" size=47 class="combo"></td>
</tr>
<tr>
<td><font class="asteriscos">*</font> Correo electrónico:<br><input type="text" name="email" size=47 class="combo"></td>
<td>URL:<br><input type="text" name="url" size=47 class="combo" value="http://"></td>
</tr>
<tr>
<td>Dirección:<br><input type="text" name="direccion" size=47 class="combo"></td>
<td><font class="asteriscos">*</font> Código Postal:<br><input type="text" name="cp" size=47 class="combo"></td>
</tr>
<tr>
<td>Localidad:<br><input type="text" name="localidad" size=47 class="combo"></td>
<td>Provincia:<br><input type="text" name="provincia" size=47 class="combo"></td>
</tr>
<tr>
<td><font class="asteriscos">*</font> País:<br><select name="pais" class="combo">
<option value="">-- Elija --
<option value="xx">España
</select></td>
<td>Archivo adjunto: <br><input type="file"></select></td>
</tr>
<tr>
<td><font class="asteriscos">*</font> Número de teléfono:<br><input type="text" name="telefono" size=47 class="combo"></td>
<td>Otro número de teléfono:<br><input type="text" name="otrotelefono" size=47 class="combo"></td>
</tr>
<tr>
</tr>
</table>
<table class="textocontenidos" width="657">
<tr>
<td>Comentarios:<br><textarea name="comment" cols=100 rows=6 class="combo" onFocus='this.value=""'>Indique sus comentarios</textarea></td>
</tr>
</table>
<table width="657" class="textocontenidos">
<tr>
<td><input type="checkbox" name="acepto" value="Acepto" class="combo"> Mis datos son correctos</font></td>
</tr>
<tr>
<td align="center"><input type="submit" value="Enviar" class="combo2"></td>
</tr>
<tr>
<td><div id='nombrevalidador_errorloc' class='error_strings'>
</div></td>
</tr>
</table>
</form>
<script language="JavaScript" type="text/javascript">
//You should create the Validator only after the definition of the HTML form
var variablescript = new Validator("nombrevalidador");
variablescript.EnableOnPageErrorDisplaySingleBox();
variablescript.EnableMsgsTogether();
variablescript.addValidation("nombre","req","El nombre es obligatorio");
variablescript.addValidation("nombre","maxlen=20", "El nombre puede tener 20 caracteres como máximo");
variablescript.addValidation("nombre","alpha_s","El nombre sólo puede contener caracteres");
variablescript.addValidation("apellidos","req","Tienes que introducir por lo menos un apellido");
variablescript.addValidation("apellidos","maxlen=40","El apellido puede contener un máximo de 40 caracteres");
variablescript.addValidation("email","maxlen=50");
variablescript.addValidation("email","req","Tienes que introducir un e-mail válido");
variablescript.addValidation("email","email","Tienes que introducir un e-mail válido");
variablescript.addValidation("cp","maxlen=10");
variablescript.addValidation("cp","req","Tienes que introducir un Código Postal válido");
variablescript.addValidation("cp","alnum_s","Tienes que introducir un Código Postal válido");
variablescript.addValidation("pais","req","El país es obligatorio");
variablescript.addValidation("telefono","maxlen=20");
variablescript.addValidation("telefono","req","Tienes que introducir un número de teléfono válido");
variablescript.addValidation("telefono","num","Tienes que introducir un número de teléfono válido (sólo números)");
variablescript.addValidation("acepto","shouldselchk","Tienes que aceptar antes de enviar");
</script>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado:\n\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Apellidos: " . $HTTP_POST_VARS["apellidos"] . "\n";
$cuerpo .= "E-mail: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Teléfono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpo .= "Otro teléfono: " . $HTTP_POST_VARS["otrotelefono"] . "\n";
$cuerpo .= "Página web: " . $HTTP_POST_VARS["url"] . "\n\n";
$cuerpo .= "Dirección: " . $HTTP_POST_VARS["direccion"] . "\n";
$cuerpo .= "CP: " . $HTTP_POST_VARS["cp"] . "\n";
$cuerpo .= "Localidad: " . $HTTP_POST_VARS["localidad"] . "\n";
$cuerpo .= "Provincia: " . $HTTP_POST_VARS["provincia"] . "\n";
$cuerpo .= "País: " . $HTTP_POST_VARS["pais"] . "\n\n";
$cuerpo .= "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comment"] . "\n\n";
//traducimos el cuerpo del mensaje para el email que recibirá el usuario
$cuerpotrans .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpotrans .= "Apellidos: " . $HTTP_POST_VARS["apellidos"] . "\n";
$cuerpotrans .= "E-mail: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpotrans .= "Teléfono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpotrans .= "Otro teléfono: " . $HTTP_POST_VARS["otrotelefono"] . "\n";
$cuerpotrans .= "Página web: " . $HTTP_POST_VARS["url"] . "\n\n";
$cuerpotrans .= "Dirección: " . $HTTP_POST_VARS["direccion"] . "\n";
$cuerpotrans .= "CP: " . $HTTP_POST_VARS["cp"] . "\n";
$cuerpotrans .= "Localidad: " . $HTTP_POST_VARS["localidad"] . "\n";
$cuerpotrans .= "Provincia: " . $HTTP_POST_VARS["provincia"] . "\n";
$cuerpotrans .= "País: " . $HTTP_POST_VARS["pais"] . "\n\n";
$cuerpotrans .= "\n";
$cuerpotrans .= "Comentarios: " . $HTTP_POST_VARS["comment"] . "\n";
//recibimos el e-mail con los datos
$headers = $HTTP_POST_VARS[email];
mail("[email protected]","Nuevo mail recibido",$cuerpo, "From: ".$headers);
//doy las gracias por el envío
echo '<div class="textocontenidos">Hola '.$HTTP_POST_VARS["nombre"].', <br><br> Hemos recibido correctamente tus datos.</div>';
//enviamos e-mail automatico de confirmacion de registro
$para = $HTTP_POST_VARS[email];
$asunto = "Registro correcto";
$mensaje = "Hola $nombre, \n\nÉste es un sistema automático";
$de = "[email protected]";
mail($para, $asunto, $mensaje, "From: ".$de);
}
?> </td>
</tr>
</table></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td colspan="3" align="center"><hr class="hr"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="496" align="center" valign="middle"><font class="letrapiecorp">©</font><br>
</td>
<td width="79" align="right" valign="top"><font class="letrapie"><a class="linkpienota" href="notalegal.html" title="nota legal">nota legal</a></font></td>
<td> </td>
</tr>
</table> </td>
</tr>
</table>
</body>
</html>
Sin tener que cambiar demasiado el formulario, ¿existe alguna forma en que yo pueda implementar esta funcionalidad para poder recibir yo en mi e-mail el archivo adjunto que el usuario añada, igual que el resto de sus datos?
Muchas gracias por adelantado.