Foros del Web » Programando para Internet » PHP »

Validar Formulario, con archivo adjunto

Estas en el tema de Validar Formulario, con archivo adjunto en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/04/2008, 08:42
 
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
  #2 (permalink)  
Antiguo 03/04/2008, 09:21
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Validar Formulario, con archivo adjunto

Lo que puedes hacer es crear una funcion que se ejecute en el evento onsubmit del form ahi donde dice <form onsubmit="return validar()"/>

La funcion validar seria algo asi..

function validar()
{
description = document.getElementById("campo1").value.length > 0;
uom = document.getElementById("campo2").selectedIndex > "0"; --> Cuando son combobox
gauge = document.getElementById("campo3").value.length > 0 ; --> Cuando son textbox
wire_type = document.getElementById("campo4").selectedIndex > "0" ;
color1 = document.getElementById("campo5").selectedIndex > "0" ;

if (!campo1|| !campo2|| !campo3|| !campo4 || !campo5)
{
alert ('campo1, campo2,campo3, campo4 or campo5 cannot be Null'); --> Mensaje de error
}
return campo1 && campo2&& campo3&& campo4 && campo5 ;
}

Espero te sirva..

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #3 (permalink)  
Antiguo 03/04/2008, 09:24
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: Validar Formulario, con archivo adjunto

Hola!Siento ser aguafiestas pero este formulario no me parece tan bueno...Este mismo formulario sin utilizar tablas (utilizando CSS) y aplicando las propiedades correctamente se cargaria el doble o triple de rápido, se reduciria el peso del script considerablemente, cualquier modificación seria más entendible y libiana, cambiar la apariencia seria cosa de niños (cosa que modificar ahora todo ese código seria muy aburrido y eterno), etc..

Respondiendo a tu pregunta:

Puedes validar en Javascript y/o PHP, te recomiendo las dos a la vez o PHP solamente, nunca hagas validaciones solo en javascript porque facilmente se pueden pasar por alto.

Para Javascript te recomiendo esta libreria:
http://www.livevalidation.com/

Facil de instalar y utilizar, gratuita y potente.

Para PHP simplemente haciendo:

Cita:
if(isset($_POST['campo'])){}
Ya estas validando que el campo esta lleno.. si buscas en las FAQS o en GOOGLE encontraras mucha información para validar formualrios en php.

Un saludo!!
  #4 (permalink)  
Antiguo 10/04/2008, 12:00
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Validar Formulario, con archivo adjunto

Cita:
Iniciado por pollo_az Ver Mensaje
-----------------------------------------------------------------------------------------------
Es muy bueno este formulario, si a alguien le sirve tomelo sin problemas


Pollo AZ
oye una pregunta todo ese codigo va en unamisma pagina?? o comolo tienes
__________________
paty :adios:
  #5 (permalink)  
Antiguo 10/04/2008, 12:16
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Validar Formulario, con archivo adjunto

ya lo probeeviebien el correo pero no adjunta el archivo llega asi
archivo1 = C:\Documents and Settings\O\Escritorio\m.jpg
__________________
paty :adios:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:31.