Bonjour,

Voila je rencontre un petit problème avec mon code. lors d'envoie du formulaire qui contient un deux champs de type date le sauvgarde dans la base de données n'est pas effectué

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

<?= $this->Form->create($payment) ?>
<input type="hidden" value="<?php $time = date::now(); echo $time; ?>" id="date_P" name="date_P">
                    <input type="hidden" value="<?php echo $time->modify('+ 5 days'); ?>" id="date_exp" name="date_exp">
                     <?= $this->Form->end() ?>

Ce que je veux

je veux enregistrer c'est deux champs dans la base de données

Ce que j'obtiens

un erreur vous ne pouvez pas ajouter cette payement , quand je change date avec une autre valeur l'enregistrement est effectué mais les champs dans la base de donnés seront null

7 réponses


Bonjour,

Pour insérer une date dans la BDD elle doit être de la forme "2016-04-29" ou "2016-04-29 18:24:02" pour du datetime

Petite astuce :
"<?php echo" peut être remplacer par "<?="

<?php $time = date::now(); ?>
<?= $this->Form->create($payment) ?>
<input type="hidden" value="<?= $time; ?>" id="date_P" name="date_P">
                    <input type="hidden" value="<?= $time->modify('+ 5 days'); ?>" id="date_exp" name="date_exp">
                     <?= $this->Form->end() ?>
nihel5
Auteur

Merci :) j'ai fait comme ça,
<?php $time = date::now(); ?>
<input type="hidden" value="<?= $time->format('Y-m-d'); ?>" id="date_P" name="date_P">
<input type="hidden" value="<?= $time->modify('+ 5 days')->format('Y-m-d'); ?>" id="date_exp" name="date_exp">
<?= $this->Form->end() ?>
pas d'erreur et dans ma base de données les champs de type date mais les champs sont toujours null dans la base de données

Vous sur que $time n'est pas vite ?

nihel5
Auteur

non pas vide.. elle prend la date d'aujourd'hui

Et le format correspond à celui demandé par la BDD ?

nihel5
Auteur

oui c'est la mm format

reste à regarder la requête sql.