Fecha del día por defecto en un input
Resuelto
emrh
Mensajes publicados
439
Estado
Miembro
-
emrh Mensajes publicados 439 Estado Miembro -
emrh Mensajes publicados 439 Estado Miembro -
Hola a todos,
Estoy intentando mostrar la fecha de hoy por defecto en un input (con la posibilidad de cambiarla, por supuesto)
con este código, pero no se muestra nada.
Parece bastante simple, sin embargo, no lo consigo. ¿Pueden ayudarme?
¡Gracias de antemano!
Configuración: Linux / Chrome 99.0.4844.51
Estoy intentando mostrar la fecha de hoy por defecto en un input (con la posibilidad de cambiarla, por supuesto)
con este código, pero no se muestra nada.
<?php $hoy=date('d/m/Y'); ?> <input type="date" id="acompte_date" name="acompte_date" required value="<?php date('d/m/Y', strtotime($hoy));?>"> Parece bastante simple, sin embargo, no lo consigo. ¿Pueden ayudarme?
¡Gracias de antemano!
Configuración: Linux / Chrome 99.0.4844.51
2 respuestas
-
Hola,
mostrar algo en la página se hace a través de HTML y no con PHP.
PHP permite escribir HTML, por ejemplo (sobre todo) con la función echo.
https://www.php.net/manual/es/function.echo.php
Lo que está haciendo aquí es utilizar la función date de PHP... en ningún contexto, no tiene ninguna variable para almacenar el valor/objeto y sobre todo no hace nada con el valor/objeto devuelto por date... por lo tanto, es normal que no haga nada.
Tenga en cuenta que PHP tampoco es la opción preferida en su caso porque puede usar JavaScript para eso.
PHP funciona en el servidor de manera de preprocesado: antes de que la página se cargue.
Esto requiere (PHP) muchos más recursos que hacerlo del lado del cliente (JavaScript) ya que necesita hacer funcionar el servidor para enviar su resultado (si es que tiene uno, lo que no es el caso como se explicó) y por lo tanto añade tiempo de carga que, aunque generalmente es negligible, puede influir en la velocidad de carga/visualización de las páginas según el tiempo de procesamiento por PHP del programa (según la longitud/complejidad del programa, la carga del número de usuarios que tienen solicitudes al servidor PHP simultáneamente y otras cosas por el estilo).
Si desea asegurar la fecha/hora, deberá de todas maneras verificar al recibir el formulario a través de PHP; lo que no impide una verificación por JavaScript antes de enviar, lo que evitará una solicitud al servidor innecesaria: hacer trabajar a PHP para nada si los contenidos del formulario son inválidos: ralentizando la visualización de la página/el resultado cuando se puede evitar.
PHP sirve principalmente (¿únicamente?) para el procesamiento de datos de manera segura (en el servidor) para conectar la página a una base de datos.
Sus únicas funciones realmente indispensables son la posibilidad de hacer consultas a una base de datos y mostrar los resultados con "echo" en el HTML (cf. las páginas dinámicas/arquitectura de 3 niveles).
Por lo tanto, es conveniente evitar el uso de un lenguaje del lado del servidor (por el tiempo de procesamiento + recursos necesarios adicionales) cuando se puede hacer lo mismo del lado del cliente (cf. JavaScript para la interactividad o para procesar datos no sensibles).
También existe AJAX, que es un método que mezcla ambos de manera asíncrona cuando PHP funciona antes de la visualización de la página y JavaScript solo cuando la página está visible (para reducir el tiempo de carga de las páginas evitando solicitudes al servidor PHP y que requieren necesariamente recargar una página teniendo datos preparados antes, es decir, en el momento de PHP antes de que la página se muestre).-
Gracias por esta explicación... Intento, tanto como sea posible, no hacer tratamiento en PHP
en mis páginas y efectivamente reservo esas acciones para interacciones con la base de datos.
Desafortunadamente, mis escasos conocimientos en JavaScript no me permitían, al cargar
mi formulario, pre-rellenar la fecha del día y me pareció más sencillo encontrar una solución
con date() de PHP...
-
-
Hola,
No estoy seguro de haber entendido exactamente lo que desea, pero si busca que la fecha aparezca por defecto en su página, entonces tal vez así. En este caso, su línea <?php $aujourdhui=date('d/m/Y'); ?> es innecesaria.
<input type="date" id="acompte_date" name="acompte_date" value="<?= date('Y-m-d') ?>" required>-
¡Es exactamente lo que estaba buscando, muchas gracias!!!
Aún no entiendo por qué me había ido por una solución tan complicada.
Ciertamente fui influenciado por mi página de inserción en la base de datos
// Recuperación de la fecha de hoy:
$date_contrat = date('Y/m/d');
. . . /. . .
$requete = $bdd->prepare('INSERT INTO contratos(fdate_contrat, ...
-