Formater la date avant de la passer dans l'URL

Petit nouveau ! | 3 Messages

07 avr. 2015, 15:45

Bonjour,

Je souhaite extraire d'une table une date que je souhaite décomposer dans un tableau comme ceci:

Code : Tout sélectionner

<?php $donnees = array( ':dateCreation' => datefrus($dateCreation), ':dateMiseEnLigne' => datefrus($dateMiseEnLigne), ':dateDerniereModif' => datefrus($dateDerniereModif) ); ?>
J'obtiens l'erreur:

Undefined variable: dateCreation in C:\wamp\www\tba\index.php on line 73

Je vous remercie de votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

07 avr. 2015, 16:26

Bonjour,

La variable $dateCreation n'est pas définie par ton code d'où le message d'information (notice) qui te le signale.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 3 Messages

07 avr. 2015, 17:26

Merci je n'avais pas vu et j'ai fait de cette façon:

Code : Tout sélectionner

<?php $dateCreation = dateusfr($donnees['dateCreation']); $dateMiseEnLigne = dateusfr($donnees['dateMiseEnLigne']); $dateDerniereModif = dateusfr($donnees['dateDerniereModif']); ?>

Petit nouveau ! | 3 Messages

07 avr. 2015, 17:28

Par contre ma requête de modification ajoute au lieu de modifier j'ai sans doute une erreur ?

Code : Tout sélectionner

$reponse = $bdd->prepare('UPDATE sites SET nom = "'.$_POST['nom'].'" , url = "'.$_POST['url'].'" , dateCreation = "'.$_POST['dateCreation'].'" , idTypeCms = "'.$_POST['idTypeCms'].'" , dateMiseEnLigne = "'.$_POST['dateMiseEnLigne'].'" , dateDerniereModif = "'.$_POST['dateDerniereModif'].'" WHERE id = "'.$_POST['id'].'"');

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 avr. 2015, 13:54

Hello !

Un UPDATE en SQL n'ajoute pas d'enregistrement et ne fait que de la mise à jour. Si tu as de nouveaux enregistrements qui apparaissent, c'est que ton code fait appel à une requête de type INSERT à un moment donné (peut être un problème de condition pour aiguiller les données vers les insertions ou les mises à jour ?)

Attention également à tes requêtes. Tu utilises dans ton update des valeurs transmises en post par un utilisateur sans effectuer de contrôle dessus. Outre les avertissements si jamais un index n'est pas défini, c'est aussi une faille de sécurité dans la mesure ou un utilisateur pourrait injecter du code SQL malveillant (voir les nombreux topics relatifs aux injections SQL).
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...