Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2008, 08:42
pollo_az
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años, 1 mes
Puntos: 0
Validar Formulario, con archivo adjunto

Amigos:

Mi problema es poder validar este formulario para que no deje enviar el correo si no estan todo los campos llenados. (Les adjunto el código)

HTML
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="22%" height="30" class="Estilo16">Nombre Completo </td>
<td width="2%" class="Estilo14"><div align="center" class="Estilo17"><strong>:</strong></div></td>
<td width="28%" class="Estilo14"><input type='text' name='Nombre' id='Nombre' /></td>
<td width="15%" class="Estilo14"><span class="Estilo16">Rut</span></td>
<td width="2%" class="Estilo14"><div align="center" class="Estilo17"><strong>:</strong></div></td>
<td width="31%" class="Estilo14"><input type='text' name='Rut' id='Rut' /></td>
</tr>
<tr>
<td height="30" class="Estilo16">Fono de Contacto </td>
<td class="Estilo14"><div align="center" class="Estilo17"><strong>:</strong></div></td>
<td class="Estilo14"><input type='text' name='Telefono' id='Telefono' /></td>
<td class="Estilo14"><span class="Estilo16">E-mail</span></td>
<td class="Estilo14"><div align="center" class="Estilo17"><strong>:</strong></div></td>
<td class="Estilo14"><input type='text' name='E-mail' id='E-mail' /></td>
</tr>
<tr>
<td height="30" class="Estilo16">Comentarios</td>
<td class="Estilo14"><div align="center" class="Estilo17"><strong>:</strong></div></td>
<td colspan="4"><textarea name="comentarios" cols="40" rows="4" id="comentarios"></textarea></td>
</tr>
<tr>
<td height="30" colspan="6" class="Estilo16">Cargos Disponibles:</td>
</tr>
<tr>
<td height="30" class="Estilo16">&Aacute;reas</td>
<td class="Estilo14"><div align="center" class="Estilo17"><strong>:</strong></div></td>
<td class="Estilo14"><select name="select">
<option>...</option>
<option>Finanzas</option>
<option>RR-HH</option>
<option>Comercial</option>
<option>Inmobiliaria</option>
<option>Salud </option>
</select>
</td>
<td class="Estilo14"><span class="Estilo16">Sub &Aacute;reas</span></td>
<td class="Estilo14"><div align="center" class="Estilo17"><strong>:</strong></div></td>
<td class="Estilo14"><select name="select2">
<option>...</option>
<option>Contabilidad</option>
<option>Tesoreria</option>
<option>Analista RR-HH</option>
<option>Asistente RR-HH</option>
<option>Desarrollo</option>
<option>Operaciones</option>
<option>Mantenci&oacute;n</option>
<option>Soporte</option>
<option>Enfermera</option>
</select>
</td>
</tr>
<tr>
<td height="30" class="Estilo16">&nbsp;</td>
<td class="Estilo14">&nbsp;</td>
<td colspan="4" class="Estilo14">&nbsp;</td>
</tr>
<tr>
<td height="30" class="Estilo16">Adjunte Curriculum </td>
<td class="Estilo14"><div align="center" class="Estilo17"><strong>:</strong></div></td>
<td colspan="4" class="Estilo14"><input type='file' name='archivo1' id='archivo1' /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td colspan="4"><input name="submit" type='submit' value='Enviar formulario' /></td>
</tr>
</table>
-------------------------------------------------------------------------------------------
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));
}

//Ejemplo de como usar:
if (form_mail("[email protected]","Asunto del mensaje",
"Los datos introducidos en el formulario son:\n\n", $sDe))
echo "Su formulario ha sido enviado con exito";
?>

-----------------------------------------------------------------------------------------------
Es muy bueno este formulario, si a alguien le sirve tomelo sin problemas


Pollo AZ