PHP - Evitar elegir en el calendario una fecha anterior

   
Vista:
Imágen de perfil de Argimiro

Evitar elegir en el calendario una fecha anterior

Publicado por Argimiro (20 intervenciones) el 30/10/2014 23:34:33
Muy buenas tardes amigos, como puedo evitar que al elegir una fecha en el calendario este mismo no me permita elegir una anterior a la del dia en curso?

De antemano muchas gracias.

1
<label>Fecha:</label><input autocomplete='off'  name='fecha' type='text'  class='validate[required,custom[date]]' id='fecha' value="<?php echo $fecha; ?>">

Este es el código que utilice.
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

Evitar elegir en el calendario una fecha anterior

Publicado por zendi (824 intervenciones) el 31/10/2014 00:09:07
hola. Por lo que veo estas imprimiendo una fecha. Si te parece te puedo enviar un javascript utilizando un DatePicker y te ahorras ese inconveniente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Argimiro

Evitar elegir en el calendario una fecha anterior

Publicado por Argimiro (20 intervenciones) el 31/10/2014 00:34:40
Te agradezco el apoyo. Mil gracias y quedo en espera.

Lo unico que deseo es evitar que se pueda elegir una fecha anterior a la actual, suponiendo estar hoy en día 30, no poder elegir del 29 hacia atras. De antemano gracias
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

Evitar elegir en el calendario una fecha anterior

Publicado por zendi (824 intervenciones) el 31/10/2014 02:14:09
Este es el codigo javascript que debes insertar en el formulario:

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
<script language="JavaScript" src="calendario.js"></script>
<script language="JavaScript" src="overlib_mini.js"></script>
<SCRIPT type="text/javascript">
var patron = new Array(2,2,4)
var patron2 = new Array(1,3,3,3,3)
function mascara(d,sep,pat,nums){
if(d.valant != d.value){
	val = d.value
	largo = val.length
	val = val.split(sep)
	val2 = ''
	for(r=0;r<val.length;r++){
		val2 += val[r]
	}
	if(nums){
		for(z=0;z<val2.length;z++){
		  if(isNaN(val2.charAt(z))){
			letra = new RegExp(val2.charAt(z),"g")
			val2 = val2.replace(letra,"")
		   }
		}
	}
	val = ''
	val3 = new Array()
	for(s=0; s<pat.length; s++){
		val3[s] = val2.substring(0,pat[s])
		val2 = val2.substr(pat[s])
	}
	for(q=0;q<val3.length; q++){
		if(q ==0){
			val = val3[q]
		}
		else{
			if(val3[q] != ""){
				val += sep + val3[q]
			}
		}
	}
	d.value = val
	d.valant = val
	}
}
</SCRIPT>

este otro debes colocarlo entre las etiquetas
1
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>

asi:
<body>
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>

y <form>

y este es el input type text por donde llamaras la fecha:

1
2
3
4
5
6
<TR>
	<td class="tit1">Fecha de la Reparación:</td>
    <td><input type="text" size=10 maxlength=10 name="fecha" onKeyUp="mascara(this,'/',patron,true)" ; onFocus="siguienteCampo ='direccion'">
    <a href=javascript:show_calendar('form1.fecha'); onMouseOver="window.status='Date Picker'; overlib('Haga Click aqui para escoger una fecha del calendario.'); return true;" onMouseOut="window.status=''; nd(); return true;">
    <img src="iconos/calendar.gif" align=center width=24 height=22 border=0></a></td>
</TR>

pero tengo un problema estoy tratando de adjuntar unos archivos pero me da un error: El formato de archivo soportado es zip, gzip, rar y bzip2 son archivos php que comprimi pero da ese mensaje. No se como hacer.
recibe estos primero y resolvere ese problema.
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

Evitar elegir en el calendario una fecha anterior

Publicado por zendi (824 intervenciones) el 31/10/2014 02:37:35
bueno aqui estan los archivos, debes colocarlos en tu proyecto, descomprimelos y los dejas con el nombre que tienen, no modifiques nada de estos codigos. Espero haberte ayudado, es un datePicker(Selecciona fechas). Espero te sirva.
Avisame si te sirvio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Argimiro

Evitar elegir en el calendario una fecha anterior

Publicado por Argimiro (20 intervenciones) el 31/10/2014 20:59:56
Ya mismo lo reviso y te comento, de antemano mil gracias por tu atención.
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

Evitar elegir en el calendario una fecha anterior

Publicado por zendi (824 intervenciones) el 02/11/2014 21:08:57
Hola que tal, te sirvio el codigo?
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 Argimiro

Evitar elegir en el calendario una fecha anterior

Publicado por Argimiro (20 intervenciones) el 03/11/2014 16:28:51
Buen día amigo, he intentado con los archivos que me enviaste y el código, pero aun al validar me deja elegir fechas anteriores, lo que deseo es que al enviar el formulario no me permita elegir de días anteriores. Te comento a grandes rasgos lo que hice, es un sistema donde el que lo manipule elija la fecha en la cual se presentara el menú de comidas del día, pero para esto deseo evitar que al cargar el menú por equivocación elija una fecha anterior a la del día en curso.

Este es el código que utilice antes de implementar el que con amabilidad me proporcionaste.

De antemano muchas gracias.

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
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
	require_once("../scripts/verificar.php");
	$js = "
	<link rel=\"stylesheet\" href=\"../scripts/jquery.ui.all.css\" type=\"text/css\">
	<script type=\"text/javascript\" src=\"../scripts/jquery.ui.core.js\"></script>
	<script type=\"text/javascript\" src=\"../scripts/jquery.ui.widget.js\"></script>
	<script type=\"text/javascript\" src=\"../scripts/jquery.ui.datepicker.js\"></script>";
	_header("..::Nuevo Menu::..",menuUs(),$nombre,$js);
	$fecha = date("Y-m-d");
?>
<div class='form' style='width: 500px;'>
            <h1>Nuevo Menú</h1>
            <form id='form1' name='form1' method='post' action='nuevoMenu.php'>
                <ul>
                <li>
                  <label>Fecha:</label><input autocomplete='off'  name='fecha' type='text'  class='validate[required,custom[date]]' id='fecha' value="<?php echo $fecha; ?>"></li>
				<li>
				  <label>Hora de inicio:</label><input name='hi' type='text' value="<?php echo date("H:i"); ?>"  class='validate[required,custom[time]]' id='hi'></li>
                 <li>
                   <label>Hora Fin:</label><input class='validate[required,custom[time]]' type='text'  name='hf' placeholder="FIN DE SERVICIO" id='hf'></li>
                 <li>
                   <label>Platillo:</label>
                   <select name="platillo" class="validate[required]" id="platillo">
                   	<?php
						$sql = "select idP,descripcion from platillo where estadoP = 1 order by descripcion;";
						$c = consulta($sql);
						if(num_fila($c) > 0){
							while($r = objetos($c))
								echo "<option value='$r->idP'>$r->descripcion</option>";
 
						}
					?>
                   </select>
                 </li>
                 <li><input type='submit' value="Guardar" name='b1' id='b1'></li>
                </ul>
</form>
        </div><br />
<?php
	$sql = "select * from configuracion";
	$conf = objetos(consulta($sql));
	if(!empty($_POST)){
		$post = slashes($_POST);
		$f = $post["fecha"];
		$hi = $post["hi"];
		$hf = $post["hf"];
		$p = $post["platillo"];
 
		$sql = "select * from menu where fecha ='$f'";
		$c = consulta($sql);
		if(num_fila($c) < 1){
			$sql = "insert menu values('$f','$hi','$hf','$conf->costo','$conf->descuento','1');";
			if(consulta($sql)){
				$sql = "insert menu_detalle values('$f','$p')";
				if(consulta($sql))
					echo href("addPlatillo.php?f=$f&&b=ok");
				else
					echo href("addPlatillo.php?f=$f&&b=error");
			}
		}else
			echo msj(array("El menu de esta fecha ya se encuentra registrado"));
 
	}
 
	@$b = $_GET["b"];
	if($b == 2) echo msj(array("Error al ejecutar la consulta"));
	if($b == 1) echo msj(array("La insercion se realizo con exito"),"ok");
 
	echo "<script>
		$(function() {
			$( \"#fecha\" ).datepicker({ 
			 autoSize: true,
				dayNames: ['Domingo', 'Lunes', 'Martes', 'Mi�rcoles', 'Jueves', 'Viernes', 'S�bado'],
				dayNamesMin: ['Dom', 'Lu', 'Ma', 'Mi', 'Je', 'Vi', 'Sa'],
				firstDay: 1,
				monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
				monthNamesShort: ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
				dateFormat: 'yy-mm-dd',
				changeMonth: true,
				changeYear: true,
				yearRange: \"-40:+10\",
 
 
			});
		});
		</script>";
	_footer();
?>
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 Argimiro

Evitar elegir en el calendario una fecha anterior

Publicado por Argimiro (20 intervenciones) el 03/11/2014 17:43:25
Adjunto capturas de pantalla de como esta constituido el sistema en la opción que deseo modificar.
Captura_de_pantalla_2014-11-03_a_las_10.41.06
Captura_de_pantalla_2014-11-03_a_las_10.41.36
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

Evitar elegir en el calendario una fecha anterior

Publicado por zendi (824 intervenciones) el 04/11/2014 02:02:23
Me dices que no debe ser una fecha anterior sino la del dia en curso. Bueno entonces toma la fecha del sistema es decir la de la computadora y listo,
algo asi:

en una linea para PHP

1
2
3
<?php
$hoy=date('d-m-Y');
?>

y donde dice Fecha
imprimes
1
2
3
4
<tr>
	              <th>Fecha:
		     	       <td><input type='text' value=<?php echo $hoy?> name='fecha'  readonly='.F.'></td></tr>
  <tr>
y asi no se podra modificar la fecha con el readonly='.F.'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Evitar elegir en el calendario una fecha anterior

Publicado por zendi (824 intervenciones) el 04/11/2014 22:05:18
Avisame si te funciono por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Argimiro

Evitar elegir en el calendario una fecha anterior

Publicado por Argimiro (20 intervenciones) el 05/11/2014 00:47:26
Si funciono amigo, trabajo perfectamente. Quedo agradecido infinitamente.
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

Evitar elegir en el calendario una fecha anterior

Publicado por zendi (824 intervenciones) el 05/11/2014 03:19:06
me alegro por haberte ayudado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Argimiro

Evitar elegir en el calendario una fecha anterior

Publicado por Argimiro (20 intervenciones) el 05/11/2014 13:28:09
Ha sido un gran apoyo de parte tuya, tengo una molestia mas por darte, en el sistema que estoy haciendo me piden que integre una función en la cual al elegir el empleado el platillo que comerá al día, el sistema le envie un mail confirmando lo elegido, donde previamente el mail fue almacenado en la base de datos, te adjunto captura. Donde se pueda implementar la variable del mail y que el sistema la tome para hacerle la confirmación en el mismo.

De antemano mil gracias
Captura_de_pantalla_2014-11-05_a_las_6.31.57
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

Evitar elegir en el calendario una fecha anterior

Publicado por zendi (824 intervenciones) el 06/11/2014 01:53:27
Bueno lo que pasa es que no se percibe muy bien la imagen,

Como ya tienes unas variables en el formulario.

La otra parte de código a escribir será entonces la encargada de tomar los datos del formulario anterior, validarlos y si todo está bien, enviar el formulario por correo electrónico a una dirección de destino determinada en el código.

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
<?php
if(isset($_POST['email'])) {
 
// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to = "destinatario@sudominio.com";
$email_subject = "Contacto desde el sitio web";
 
// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
 
echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
die();
}
 
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['first_name'] . "\n";
$email_message .= "Apellido: " . $_POST['last_name'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Teléfono: " . $_POST['telephone'] . "\n";
$email_message .= "Comentarios: " . $_POST['comments'] . "\n\n";
 
 
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
 
echo "¡El formulario se ha enviado con éxito!";
}
?>
analiza este codigo bien y aplicalo, supongo que tienes tu maquina apta para correos o email.

Exitos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Argimiro

Evitar elegir en el calendario una fecha anterior

Publicado por Argimiro (20 intervenciones) el 06/11/2014 15:33:56
Antes que nada amigo, muchas gracias por el tiempo que me regalas, y sobre todo el apoyo con tus conocimientos.

El código que me compartes no es funcional para lo que requiero, es muy bueno el code, pero te comparto como deseo utilizarlo para ver si cabe la posibilidad de tu apoyo.

En el mismo sistema que me has apoyado al entrar como usuario, se crea un modulo en el cual este mismo puede elegir entre uno de los platillos que han sido publicados para la orden del día, lo que deseo es que el usuario al elegir ese platillo y confirmar que es lo que desea, el sistema tome ese valor y lo envié a su mail confirmandole lo que eligio, obviamente los correos son variables, depende de cada usuario que haga su pedido. Te adjunto captura de pantalla y codigo del php que utilice para ese modulo.
Captura_de_pantalla_2014-11-06_a_las_8.29.28

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
76
77
78
79
80
<?php
	require_once("../scripts/verificar2.php");
	$js ="
	<script>
		function seleccionar(a){
			var r = confirm('¡Usted selecciono el platillo '+a.title+'! ¿Desea continuar?');
			if(r == true)
				document.location.href='index.php?f='+a.name+'&&idp='+a.id;
		}
		function notificar(a,b){
			if(b == 2)
				confirm('¡Usted ya realizo la selección de su platillo para cancelar la operación ponerse en contacto con el administrador!');
			else
				confirm('¡El tiempo de selección a expirado. Favor de ponerse en contacto con el administrador!');
		
		}
	</script>";
	_header("..::Pagina Principal::..",menuEmp(),$nombre,$js);
 
	if(isset($_GET["f"]) && isset($_GET["idp"])){
		$f = $_GET["f"];
		$idp = $_GET["idp"];
 
		$sql = "insert apartado values('$f','$idp','$datos->nT');";
		echo '<META HTTP-EQUIV="REFRESH" CONTENT="8;URL=index.php"> ';
		if(consulta($sql)){
 
			echo msj(array("Se aparto el platillo correctamente"),"ok");
		}
		else{
			echo msj(array("Error al apartar el platillo","Intentelo nuevamente"));
		}
	}
 
 
 
	$fecha = date("Y-m-d");
	$hora = date("H:i:s");
	$sql = "select * from menu where fecha = '$fecha'";
	$c = consulta($sql);
	if(num_fila($c) > 0){
		$menu = objetos($c);
		$sql = "select
			 menu_detalle.fecha,platillo.descripcion,platillo.nomImagen,platillo.idP
		from 
			menu_detalle,platillo 
		where 
			platillo.idP = menu_detalle.idP and menu_detalle.fecha = '$fecha'";
		$c = consulta($sql);
		if($menu->hi <= $hora && $menu->hf >= $hora)
			$funcion = "seleccionar(this)";
		else
			$funcion = "notificar(this)";
 
		$sql = "select * from apartado where fecha = '$menu->fecha' and nT = '$datos->nT'";
		if(num_fila(consulta($sql)) > 0)
			$funcion = "notificar(this,2)";
 
		if(num_fila($c) > 0){
			echo '<div id="gallery">
		    	<ul>';
 
			while($r = objetos($c)){
				$sql = "select * from apartado where fecha = '$menu->fecha' and idP = '$r->idP' and nT = '$datos->nT'";
				$css = "";
				if(num_fila(consulta($sql)) > 0)
					$css = "border: 5px solid green;	border-width: 5px 5px 20px;	height:140px;	width:180px;";
				echo "<li >
					<div align='center'><b>$r->descripcion</b></div>
		            <a  href='#' onclick=\"$funcion\" id=\"$r->idP\" title='$r->descripcion' name=\"$menu->fecha\"><img src='imagenPlatillo.php?idp=$r->idP' style='$css' alt=''/></a>
        		</li>";
								
			}
			echo "</ul>
			</div>";
		}
	}
	_footer();
?>


La intención es que al momento en que el usuario confirme el platillo, el sistema en automatico tome el valor de su email almacenado en la base de datos y envie a su correo la información de que platillo eligio.
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