Date du jour par défaut dans un input

Résolu/Fermé
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 - 17 mars 2022 à 09:43
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 - 17 mars 2022 à 14:28
Bonjour à tous,

J'essaie d'afficher la date du jour par défaut dans un input (avec possibilité de la changer bien entendu)
avec ce code mais rien ne s'affiche !

<?php $aujourdhui=date('d/m/Y'); ?>
<input type="date" id="acompte_date" name="acompte_date" required value="<?php date('d/m/Y', strtotime($aujourdhui));?>">


Ça semble tout simple, pourtant, je n'y arrive pas. Pouvez-vous m'aider ?
Merci d'avance !




Configuration: Linux / Chrome 99.0.4844.51

2 réponses

Salut,
afficher quelque chose dans la page se fait par/avec HTML et non PHP.

PHP permet d'écrire du HTML par exemple(surtout)avec la fonction echo

https://www.php.net/manual/fr/function.echo.php

Ce que vous faites ici c'est utiliser la fonction date de PHP...dans aucun contexte, vous n'avez aucune variable pour stocker la valeur/objet et surtout ne faites rien de la valeur/objet renvoyée par date...donc normal que ça ne fasse rien.

Notez que PHP n'est pas non plus à privilégier dans votre cas car vous pouvez utiliser JavaScript pour cela.
PHP fonctionne sur serveur de manière préprocesseur: avant que la page soit chargé.
Cela demande (PHP) beaucoup plus de ressources que de le faire côté client(JavaScript) car nécessite de faire fonctionner le serveur pour qu'il envoi son résultat(pour peu que vous en ayez un ce qui n'est pas le cas comme expliqué) et donc rajoute du temps de chargement qui s'il est en général négligeable peut influer sur la vitesse de chargement/affichage des pages selon le temps de traitement par PHP du programme(selon la longueur/complexité du programme, la charge du nombre d'utilisateurs ayant des requêtes au serveur PHP simultanément et autres trucs du genre) .

Si vous voulez sécuriser la date/heure il faudra de toute façon vérifier lors de la réception du formulaire par PHP; ce qui n'empêche pas une vérification par JavaScript avant envoi ce qui évitera une requête au serveur inutile: faire travailler PHP pour rien si les contenus du formulaire sont invalides : ralentir l'affichage des page/le résultat alors que l'on peut éviter.

PHP sert surtout(uniquement?) pour le traitement des données de façon sécurisé(sur le serveur) pour relier la page à une base de données.
Ses seules fonctions vraiment indispensables sont la possibilité de faire des requêtes à une base de données et d'afficher les résultats avec "echo" dans le HTML(cf. les pages dynamiques/architecture 3 tiers).

Il convient donc d'éviter d'utiliser un langage serveur(car temps de traitement + ressources nécessaires supplémentaires) quand on peut faire la même chose côté client(cf JavaScript pour l'interactivité ou traiter des données non sensibles).

Il y a aussi AJAX qui est une méthode mélangeant les 2 de façon asynchrone quand PHP fonctionne avant l'affichage de la page et JavaScript quand la page est affichée uniquement(afin de réduire le temps de chargement des pages en évitant des requêtes au serveur PHP et nécessitant obligatoirement de recharger une page en ayant préparés des données avant-donc au moment de PHP avant que la page s'affiche).
2
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 20
17 mars 2022 à 14:21
Merci pour cette explication... J'essaie autant que possible de ne pas faire de traitement PHP
sur mes pages et réserve effectivement ses actions à des interrogations de bdd.
Malheureusement mes faibles connaissance en JavaScript ne me permettaient pas au chargement
de mon formulaire de pré-remplir la date du jour et il m'a semblait plus simple de trouver un solution
avec date() de php...
0
Izzara82 Messages postés 26 Date d'inscription dimanche 14 mars 2021 Statut Membre Dernière intervention 11 janvier 2023 1
Modifié le 17 mars 2022 à 11:07
Bonjour,

Je ne suis pas sûr d'avoir exactement compris ce que vous souhaitez mais si vous cherchez à ce que la date apparaisse par défaut sur votre page, alors peut-être comme ceci. Dans ce cas là, votre ligne <?php $aujourdhui=date('d/m/Y'); ?> est inutile.


<input type="date" id="acompte_date" name="acompte_date" value="<?= date('Y-m-d') ?>"  required>

1
emrh Messages postés 427 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 9 avril 2024 20
Modifié le 17 mars 2022 à 14:32
C'est exactement ce que je cherchais, merci beaucoup !!!
Je n'arrive toujours pas à comprendre pourquoi j'étais parti sur une telle usine à gaz !

J'ai certainement été influencé par ma page d'insertion en bdd
// Récupération de la date du jour :
$date_contrat = date('Y/m/d');

. . . /. . .

$requete = $bdd->prepare('INSERT INTO contrats(fdate_contrat, ...
0