Comunidad de diseño web y desarrollo en internet online

Ayuda con formulario (fechas :S )

Citar            
MensajeEscrito el 23 Ene 2008 02:29 pm
Hola a todos :)
A ver, estoy haciendo un formulario de solicitud de un servicio para una página, y la verdad es que no sé practicamente nada de php como para hacer algo yo, pero si puedo editar un código al verlo.
Por ello, busqué el código para el formulario y lo edité para mis necesidades. El problema, es que necesito que si la fecha de término ingresada en el formulario es anterior a la fecha de inicio, envié un mensaje de error.

Acá dejos los códigos:

Formulario :

Código :

<form id="solicitud polinizacion" name="solicitud polinizacion" method="post" action="enviar_pol.php">
        <span class="text">
<label for="textfield">
<table width="492" border="0" align="center">
  <tr>
    <td height="22" colspan="2"><div align="center" class="title">Datos de la Empresa </div></td>
  </tr>
  <tr>
    <td width="146" height="24"><label for="textfield">Rut de la empresa:</label></td>
    <td width="336"><input name="rut" type="text" id="rut" maxlength="12" />
      (Ej: 25.312.489-1)  </td>
  </tr>
  <tr>
    <td><label for="textfield">Nombre de la empresa:</label></td>
    <td><input type="text" name="nombre" id="nombre" /></td>
  </tr>
  <tr>
    <td><label for="label">Dirección:</label></td>
    <td><input type="text" name="direccion" id="label" /></td>
  </tr>
  <tr>
    <td><label for="textfield">Giro:</label></td>
    <td><input type="text" name="giro" id="giro" /></td>
  </tr>
  <tr>
    <td><label for="textfield">Correo electrónico:</label></td>
    <td><input type="text" name="email" id="email" /></td>
  </tr>
  <tr>
    <td><label for="textfield">Teléfono de la empresa:</label></td>
    <td><input name="telefono" type="text" id="telefono" maxlength="25" /></td>
  </tr>
  <tr>
    <td height="37" colspan="2"><div align="center" class="title">Informaci&oacute;n de contacto </div></td>
  </tr>
  <tr>
    <td><label for="label2">Fecha de solicitud:</label></td>
    <td><input name="fecha" type="text" id="label2" maxlength="10" /> 
      (Ej: 25/09/2008) </td>
  </tr>
  <tr>
    <td><label for="label3">Nombre del 1º contacto:</label></td>
    <td><input type="text" name="contacto1" id="label3" /></td>
  </tr>
  <tr>
    <td><label for="label4">Teléfono del 1º contacto:</label></td>
    <td><input name="telefono1" type="text" id="label4" maxlength="25" /></td>
  </tr>
  <tr>
    <td><label for="label5">Nombre del 2º contacto:</label></td>
    <td><input type="text" name="contacto2" id="label5" /></td>
  </tr>
  <tr>
    <td height="16"><label for="label10">Teléfono del 2º contacto:</label></td>
    <td height="16"><input name="telefono2" type="text" id="label10" maxlength="25" /></td>
  </tr>
  <tr>
    <td height="37" colspan="2"><div align="center" class="title">Informaci&oacute;n de requerimientos respecto a la polinizaci&oacute;n del predio </div></td>
  </tr>
  <tr>
    <td><label for="label6">Cantidad de colmenas:</label></td>
    <td><input type="text" name="colmenas" id="label6" /> 
    (Ej: 3) </td>
  </tr>
  <tr>
    <td><label for="select">Variedad a polinizar:</label>
      <label for="radiobutton"></label></td>
    <td><select name="variedad" id="variedad">
      <option value="semilleros" selected="selected">Semilleros</option>
      <option value="frutales">Frutales</option>
        </select></td>
  </tr>
  <tr>
    <td><label for="label7">Lugar a realizar la polinización:</label></td>
    <td><input type="text" name="lugar" id="label7" /></td>
  </tr>
  <tr>
    <td><label for="label8">Fecha de inicio de la polinización:</label></td>
    <td><input type="text" name="fecha_inicio" id="label8" /> 
    (Ej: 03/02/2008) </td>
  </tr>
  <tr>
    <td><label for="label9">Fecha de término de la polinización:</label></td>
    <td><input type="text" name="fecha_termino" id="label9" />
    (EJ: 05/12/2008) </td>
  </tr>
  <tr>
    <td height="46">&nbsp;</td>
    <td><input name="enviar" type="submit" id="enviar" value="Enviar" />
      <input name="borrar" type="reset" id="borrar" value="Borrar" /></td>
  </tr>
</table>
        </span>
      </form>


Y acá el php

Código :

<?php

$recipiente = "[email protected]";

$asunto = "Solicitud de polinizacion";

$error = 0;

//los campos mandados por el formulario
$email = $_POST['email'];
$rut = $_POST['rut'];
$nombre = $_POST['nombre'];
$direccion = $_POST['direccion'];
$email = $_POST['email'];
$direccion = $_POST['direccion'];
$giro = $_POST['telefono'];
$fecha = $_POST['fecha'];
$contacto1 = $_POST['contacto1'];
$telefono1 = $_POST['telefono1'];
$contacto2 = $_POST['contacto2'];
$telefono2 = $_POST['telefono2'];
$colmenas = $_POST['colmenas'];
$variedad = $_POST['variedad'];
$lugar = $_POST['lugar'];
$fecha_inicio = $_POST['fecha_inicio'];
$fecha_termino = $_POST['fecha_termino'];

   $message ="La empresa ".$nombre." , RUT: ".$rut." , solicita los servicios de polinización a la empresa AGRO APICOLA BUIN LTDA.<br>";
   $message .="<h4>Datos de la empresa</h4><hr>";
   $message .="Rut de la empresa: ".$rut."<br>";
   $message .="Nombre de la empresa: ".$nombre."<br>";
   $message .="Direccion: ".$direccion."<br>";
   $message .="Giro: ".$giro."<br>";
   $message .="Telefono: ".$telefono."<br>";
   $message .="<h4>Informacion de contacto</h4><hr>";
   $message .="Fecha de solicitud: ".$fecha."<br>";
   $message .="Nombre del 1º contacto: ".$contacto1."<br>";
   $message .="Telefono del 1º contacto: ".$telefono1."<br>";
   $message .="Nombre del 2º contacto: ".$contacto2."<br>";
   $message .="Telefono del 2º contacto: ".$telefono2."<br><br>";
   $message .="<h4>Informacion de requerimientos respecto a la polinizacion del predio</h4><hr>";
   $message .="Cantidad de colmenas: ".$colmenas."<br>";
   $message .="Variedad a polinizar: ".$variedad."<br>";
   $message .="Lugar a polinizar: ".$lugar."<br>";
   $message .="Fecha de inicio de la polinizacion: ".$fecha_inicio."<br>";
   $message .="Fecha de termino de la polinizacion: ".$fecha_termino."<br>";
   
   $message = stripslashes($message);
   
   $headers = "MIME-Version: 1.0\r\n";
   $headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
   $headers .= "From: $email\r\n";
   $headers .= "Repaly-to: $email\r\n";
   $headers .= "Cc: $email\r\n";
   
   mail($recipiente,$asunto,$message,$headers);
   
   //aqui puedes modificar los mensajes
   echo "&iexcl;El mensaje ha sido enviado exitosamente!<BR>";
   echo "Gracias por enviar su solicitud.<BR>Le responderemos en el menor tiempo posible.<BR>";

?>


Por fa ayúdenme.

Gracias :D

Por masterin

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Ene 2008 05:09 pm
aca hay un Post que hablan de eso http://www.cristalab.com/foros/t14108.html, solo que en vez de sumar, pues tienes que restar osea, en vez de usar este signo +, usas este -

ah por cierto!, no olivdes usar el buscador, este tema se trata mucho por este foro ;)

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 23 Ene 2008 05:14 pm
Esa validacion la podes hacer con JavaScript

Aca te lo dejo..!

Código :

<html>
<head>
<script>

   function validar_fechas()
   {
      fecha_inicial = document.solicitud_polinizacion.fecha_inicio.value;
      fecha_final = document.solicitud_polinizacion.fecha_termino.value;
      
      if(fecha_inicial > fecha_final)
      {
         
         alert('La Fecha Inicial no Puede Ser Mayor que La Fecha Final');
         return false;
         
      }
   }

</script>
</head>
<body>
<form id="solicitud polinizacion" name="solicitud_polinizacion" method="post" action="enviar_pol.php" onsubmit="return validar_fechas();">
        <span class="text">
<label for="textfield">
<table width="492" border="0" align="center">
  <tr>
    <td height="22" colspan="2"><div align="center" class="title">Datos de la Empresa </div></td>
  </tr>
  <tr>
    <td width="146" height="24"><label for="textfield">Rut de la empresa:</label></td>
    <td width="336"><input name="rut" type="text" id="rut" maxlength="12" />
      (Ej: 25.312.489-1)  </td>
  </tr>
  <tr>
    <td><label for="textfield">Nombre de la empresa:</label></td>
    <td><input type="text" name="nombre" id="nombre" /></td>
  </tr>
  <tr>
    <td><label for="label">Dirección:</label></td>
    <td><input type="text" name="direccion" id="label" /></td>
  </tr>
  <tr>
    <td><label for="textfield">Giro:</label></td>
    <td><input type="text" name="giro" id="giro" /></td>
  </tr>
  <tr>
    <td><label for="textfield">Correo electrónico:</label></td>
    <td><input type="text" name="email" id="email" /></td>
  </tr>
  <tr>
    <td><label for="textfield">Teléfono de la empresa:</label></td>
    <td><input name="telefono" type="text" id="telefono" maxlength="25" /></td>
  </tr>
  <tr>
    <td height="37" colspan="2"><div align="center" class="title">Informaci&oacute;n de contacto </div></td>
  </tr>
  <tr>
    <td><label for="label2">Fecha de solicitud:</label></td>
    <td><input name="fecha" type="text" id="label2" maxlength="10" /> 
      (Ej: 25/09/2008) </td>
  </tr>
  <tr>
    <td><label for="label3">Nombre del 1º contacto:</label></td>
    <td><input type="text" name="contacto1" id="label3" /></td>
  </tr>
  <tr>
    <td><label for="label4">Teléfono del 1º contacto:</label></td>
    <td><input name="telefono1" type="text" id="label4" maxlength="25" /></td>
  </tr>
  <tr>
    <td><label for="label5">Nombre del 2º contacto:</label></td>
    <td><input type="text" name="contacto2" id="label5" /></td>
  </tr>
  <tr>
    <td height="16"><label for="label10">Teléfono del 2º contacto:</label></td>
    <td height="16"><input name="telefono2" type="text" id="label10" maxlength="25" /></td>
  </tr>
  <tr>
    <td height="37" colspan="2"><div align="center" class="title">Informaci&oacute;n de requerimientos respecto a la polinizaci&oacute;n del predio </div></td>
  </tr>
  <tr>
    <td><label for="label6">Cantidad de colmenas:</label></td>
    <td><input type="text" name="colmenas" id="label6" /> 
    (Ej: 3) </td>
  </tr>
  <tr>
    <td><label for="select">Variedad a polinizar:</label>
      <label for="radiobutton"></label></td>
    <td><select name="variedad" id="variedad">
      <option value="semilleros" selected="selected">Semilleros</option>
      <option value="frutales">Frutales</option>
        </select></td>
  </tr>
  <tr>
    <td><label for="label7">Lugar a realizar la polinización:</label></td>
    <td><input type="text" name="lugar" id="label7" /></td>
  </tr>
  <tr>
    <td><label for="label8">Fecha de inicio de la polinización:</label></td>
    <td><input type="text" name="fecha_inicio" id="label8" /> 
    (Ej: 03/02/2008) </td>
  </tr>
  <tr>
    <td><label for="label9">Fecha de término de la polinización:</label></td>
    <td><input type="text" name="fecha_termino" id="label9" />
    (EJ: 05/12/2008) </td>
  </tr>
  <tr>
    <td height="46">&nbsp;</td>
    <td><input name="enviar" type="submit" id="enviar" value="Enviar" />
      <input name="borrar" type="reset" id="borrar" value="Borrar" /></td>
  </tr>
</table>
        </span>
      </form>
</body>
</html>



Si no entendes algo.. solo pregunta..! :cool:

Por jripper

228 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Ene 2008 10:36 pm
Hola otra vez.

Bueno, primero tengo que agradecerles por sus respuestas, aunque, la verdad es que al final hice yo un php :lol: a ver.. les explico:

El java que me dejó jripper no me funciono :S no sé porque, así que empecé a ver el link que me dejó master_of_puppetz acerca de cómo sumar fechas, y en verdad que no entendí mucho el código ^^ pero aprendí a sumar variables, así que lo que hice fue lo siguiente:

En el formulario el campo de texto fecha_inicio lo saqué y en su lugar puse tres campos: dia1,mes1 y ano1. Con el campo fecha_termino, lo mismo, pero en vez de ser mes1 (x ejemplo) le llamé mes2. Y bueno, luego fijándome en algunas cualidades de los meses y años, hice el siguiente php :

Código :

<?php

$recipiente = "[email protected]";

$asunto = "Solicitud de polinizacion";

$error = 0;

//los campos mandados por el formulario
$email = $_POST['email'];
$rut = $_POST['rut'];
$nombre = $_POST['nombre'];
$direccion = $_POST['direccion'];
$email = $_POST['email'];
$direccion = $_POST['direccion'];
$giro = $_POST['telefono'];
$fecha = $_POST['fecha'];
$contacto1 = $_POST['contacto1'];
$telefono1 = $_POST['telefono1'];
$contacto2 = $_POST['contacto2'];
$telefono2 = $_POST['telefono2'];
$colmenas = $_POST['colmenas'];
$variedad = $_POST['variedad'];
$lugar = $_POST['lugar'];
$dia1 = $_POST['dia1'];
$mes1 = $_POST['mes1'];
$ano1 = $_POST['ano1'];
$dia2 = $_POST['dia2'];
$mes2 = $_POST['mes2'];
$ano2 = $_POST['ano2'];
$fecha_inicio = $dia1 + $mes1*40 + $ano1*100;
$fecha_termino = $dia2 + $mes2*40 + $ano2*100;

//verificaci&oacute;n si los campos requeridos estan llenos
if($fecha_inicio > $fecha_termino){
   $error=1;
}
//mensajes de error
if($error==1){
   echo "El siguiente error ha ocurrido!<BR>";
   echo "La fecha de inicio no puede ser mayor que la fecha de término<BR> Por favor vuelva <A HREF=\"javascript:history.back()\">atras</A>.<BR>";
}
else{
   $message ="La empresa ".$nombre." , RUT: ".$rut." , solicita los servicios de polinización a la empresa asdasdasdasd.<br>";
   $message .="<h4>Datos de la empresa</h4><hr>";
   $message .="Rut de la empresa: ".$rut."<br>";
   $message .="Nombre de la empresa: ".$nombre."<br>";
   $message .="Direccion: ".$direccion."<br>";
   $message .="Giro: ".$giro."<br>";
   $message .="Telefono: ".$telefono."<br>";
   $message .="<h4>Informacion de contacto</h4><hr>";
   $message .="Fecha de solicitud: ".$fecha."<br>";
   $message .="Nombre del 1º contacto: ".$contacto1."<br>";
   $message .="Telefono del 1º contacto: ".$telefono1."<br>";
   $message .="Nombre del 2º contacto: ".$contacto2."<br>";
   $message .="Telefono del 2º contacto: ".$telefono2."<br><br>";
   $message .="<h4>Informacion de requerimientos respecto a la polinizacion del predio</h4><hr>";
   $message .="Cantidad de colmenas: ".$colmenas."<br>";
   $message .="Variedad a polinizar: ".$variedad."<br>";
   $message .="Lugar a polinizar: ".$lugar."<br>";
   $message .="Fecha de inicio de la polinizacion: ".$fecha_inicio."<br>";
   $message .="Fecha de termino de la polinizacion: ".$fecha_termino."<br>";
   
   $message = stripslashes($message);
   
   $headers = "MIME-Version: 1.0\r\n";
   $headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
   $headers .= "From: $email\r\n";
   $headers .= "Repaly-to: $email\r\n";
   $headers .= "Cc: $email\r\n";
   
   mail($recipiente,$asunto,$message,$headers);
   
   //aqui puedes modificar los mensajes
   echo "&iexcl;El mensaje ha sido enviado exitosamente!<BR>";
   echo "Gracias por enviar su solicitud.<BR>Le responderemos en el menor tiempo posible.<BR>";
;

}
?>


Eso de multiplicar por 40 y por 100 es para asegurarse de que dos fechas no den nunca el mismo valor

Eso.. : :) y gracias de todos modos

Por masterin

5 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.