PHP - ¡Ayuda! Error en fecha con año 2020

 
Vista:
Imágen de perfil de Juan Camilo
Val: 107
Ha disminuido su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

¡Ayuda! Error en fecha con año 2020

Publicado por Juan Camilo (22 intervenciones) el 03/01/2020 12:40:55
Colegas, buenos días, acudo a usted para que por favor me ayuden con el siguiente inconveniente.
Tengo el siguiente 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
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
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" onsubmit="return validar(this)" autocomplete="off">
    <table>
        <tr>
            <td id="nomostrar">Nombre de Usuario: </td>
            <td>
                <label id="eti">Nombre de Usuario: </label>
                <input type="text" name="names" placeholder="Nombre de Usuario" required/>
            </td>
        </tr>
        <tr>
            <td id="nomostrar">Descartes: </td>
            <td>
                <label id="eti">Descartes:</label>
                <textarea id="desc" lang="es" spellcheck="true" name="dess" placeholder="Ingrese los descartes realizados" required></textarea>
            </td>
        </tr>
        <tr>
            <td id="nomostrar">Motivo: </td>
            <td>
                <label id="eti">Motivo: </label>
                <select name="motivos" required>
                    <option value="">Motivo de Suspenci&oacute;n</option>
                    <option value="Pruebas">Pruebas</option>
                    <option value="Disponibilidad del Usuario">Disponibilidad del Usuario</option>
                    <option value="Falta de Información del Usuario">Falta de Informaci&oacute;n del Usuario</option>
                    <option value="Usuario Ausente">Usuario Ausente</option>
                    <option value="Usuario Operativo">Usuario Operativo</option>
                </select>
            </td>
        </tr>
        <tr>
            <td id="nomostrar">Fecha de Suspenci&oacute;n: </td>
            <td>
                <label id="eti">Fecha de Suspenci&oacute;n: </label>
                <input type="date" name="fechas" required/>
            </td>
        </tr>
        <tr>
            <td id="nomostrar">Hora: </td>
            <td
                ><label id="eti">Hora: </label>
                <input type="time" name="horas" required/>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <input id="submit" type="submit" name="submit" value="Generar Plantilla"/>
            </td>
        </tr>
        <tr>
            <td colspan="2"><a href='../index.php'><input id="menu" type='button' name="submit" value='Men&uacute;'/></a></td>
        </tr>
    </table>
</form>
<?php
if (isset($_POST['submit'])) {
    $nu = $_POST['names'];
    $des = nl2br($_POST['dess']);
    $mot = nl2br($_POST['motivos']);
    $fec = $_POST['fechas'];
    $hr = $_POST['horas'];
    $fecha= explode('-', $fec);
 
    date_default_timezone_set('America/Bogota');
    $months = array ("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
    $year_now = $fecha[0];;
    $month_now = $fecha[1];;
    $day_now = $fecha[2];
    $date = $day_now . " de " . $months[$month_now] . " de " . $year_now;
    ?>
    <table>
        <tr>
            <td>
                Buen d&iacute;a<br/>
                Se contacta al usuario <b><?php echo ucwords($nu); ?></b><br/>
                <b>Descarte(s):</b> <br/>
                <?php echo $des; ?><br/>
                <b>Motivo: </b><?php echo $mot; ?><br/>
                <b>Fecha y Hora de Suspensi&oacute;n: </b><?php echo $date; ?> a las <?php echo $hr; ?> <br/>
                Fel&iacute;z D&iacute;a
            </td>
        </tr>
    </table>
<?php } ?>

Resulta que cuando se ejecuta el formulario y muestra el resultado del formulario, en donde aparece el texto Fecha y Hora de Suspesión, debe aparecer la fecha con el nombre del mes, pero lo que me parece raro, es que el error que muestro en la imagen, empezó a salir con el cambio de año

Captura

Si el mismo formulario se ejecuta pero con el año 2019 el error no aparece y la fecha se visualiza correctamente incluyendo el nombre del mes

Captura1

En mi código, la línea 88 es:
1
$date = $day_now . " de " . $months[$month_now] . " de " . $year_now;
}}

Y para rematar, en mi servidor local es donde se visualiza el error, sin embargo, en el hosting gratuito donde tengo alojado el sitio, aunque no muestra error, simplemente no muestra el nombre del mes:

Captura2

Espero me puedan brindar su ayuda para darle solución a esto.
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

¡Ayuda! Error en fecha con año 2020

Publicado por joel (1269 intervenciones) el 04/01/2020 11:12:30
El problema es que el mes te viene con una cadena de 01 en vez de 1... cambia esta linea:

1
$date = $day_now . " de " . $months[$month_now] . " de " . $year_now;
por:
1
$date = $day_now . " de " . $months[intval($month_now)] . " de " . $year_now;
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 Juan Camilo
Val: 107
Ha disminuido su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

¡Ayuda! Error en fecha con año 2020

Publicado por Juan Camilo (22 intervenciones) el 04/01/2020 16:55:12
Muchísimas gracias amigo, hice la corrección que me diste y funciona de maravilla, una vez más...¡Muchísimas 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