[RESOLU] Date et heure

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Date et heure

Re: Date et heure

par Matrix » 24 sept. 2012, 18:57

Merci beaucoup pour m'avoir aider

Re: Date et heure

par moogli » 24 sept. 2012, 09:22

oui c'est une solution.


@+

Re: Date et heure

par Matrix » 23 sept. 2012, 11:52

Je pense avoir trouver la solution
Voici mon code
En gras c'est ce que j'ai rajouter
echo"Posté par:".$row['nom']." le ".date("d-m-Y à H:i:s", strtotime($row['date']))."<br/>".$row['message']."<br/>";

Je voudrais juste savoir s'il est correct

Re: Date et heure

par moogli » 23 sept. 2012, 11:46

Ce que tu souhaite c'est le premier exemple sur cette page http://php.net/manual/fr/datetime.createfromformat.php

Il te faut adapter ton format de date pour qu'il corresponde à ce que tu récupère de mysql ( ici Y-m-d). Ceci pour le premier paramètre de dateTime::createFromFormat(). Le second paramètre doit être la date ($row['date'] dans ton cas).
J'en profite pour te dire que est un mot clef SQL et que tu ne devrait pas l'utiliser comme nom de champ, tu peux par exemple utiliser dateSignature, c'est plus parlant et pas de soucis avec l'utilisation d'un mot clef).

Tu risque d'avoir un problème si tu utilise ce champs dans un prédicat (where date = .....).

Pour afficher la date au format français c'est la méthode format ;)
Le format de date à utiliser est bien sur d-m-Y.

Essai déjà avec ça et si tu a un soucis hésite pas et poste le code testé.

@+

Re: Date et heure

par Matrix » 23 sept. 2012, 11:27

Plus je consulte les liens et moins je comprend, je suis complètement largé

Re: Date et heure

par Matrix » 23 sept. 2012, 10:24

J'ai éplucher les liens que tu m'as donner, mais c'est pas très clair pour moi petit débutant :D
J'ai bien compris qu'il faut utiliser DateTime
Mais encore faut-il savoir quel code mettre et surtout ou le mettre

Re: Date et heure

par moogli » 23 sept. 2012, 10:15

Tu affiche la date courante la ;)

Il faut que tu utilise le second paramètre de la fonction date.

Le plus simple étant d'utiliser la classe dateTile indiquée dans mon message précédent.

La date est toujours enregistrée au format anglais dans mysql, c'est le seul qu'il connaisse.
La solution d'utiliser le date_forma de mysql à l'avantage de ne pas changer ton code php.
Par contre si tu change de sgbd un jour ça ne fonctionnera plus :/

Regarde bien les exemples de la classe que je t'ai mis en haut.
Tu commence par utiliser la méthode "à partir d'un format", puis format.


@+

Re: Date et heure

par Matrix » 23 sept. 2012, 09:57

Mes problèmes sont en partie régler. Pour le "\", c'est bon, j'ai rajouter ce code sur ma page, il a disparue

f (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
unset($process[$key][$k]);
if (is_array($v)) {
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
} else {
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
}

Par contre pour l'heure au format Français, c'est toujours pas bon. je me suis inspiré des liens que vous m'avez fournis, mais j'ai du mal à intégré le code sur ma page.
Voici ce que j'ai fais.

$query=mysql_query("INSERT INTO livredor(id,nom,email,message)VALUES('','$nom','$date','$message')");

if($query)
{
$ENTREE_DB = "OK";
$select=mysql_query("SELECT*FROM livredor ORDER BY id DESC");

while($row=mysql_fetch_assoc($select))
{
echo"Posté par:".$row['nom']." le ".$row['date']."<br/>".$row['message']."<br/>";
echo date('d/m/Y H:i:s');
J'ai rajouter la ligne en rouge et j'ai ce résultat

Posté par:Marie le 2012-09-23 09:52:26
C'est pas bon
23/09/2012 09:52:26


J'avance, mais c'est toujours pas bon. je n'arrive pas à remplacer la date en Anglais par celle en Français, j'ai plusieurs essais mais ça ne fonctionne pas.

Re: Date et heure

par moogli » 22 sept. 2012, 23:19

salut,


pour la date pas d'explode, simplement utiliser date_format de mysql ou la classe dateTime et la méthode format de php


quand au problème de quote (magique) des solutions sont expliquées la : http://php.net/manual/fr/security.magic ... abling.php


@+

Re: Date et heure

par sam12 » 22 sept. 2012, 20:15

Pour la date: explode sur le tiret par exemple. Tu récupères tes chiffres séparément et tu les remets dans le sens que tu veux. A utiliser à l'affichage.

Pour les backslashes: stripslashes. A utiliser à l'affichage.

Date et heure

par Matrix » 22 sept. 2012, 19:12

Bonjour,
Tout d'abord, je suis débutant en php.
J'ai récupéré un script php de formulaire de commentaire que j'ai modifié, d'ailleurs, je ne n'ai encore fini les modifications, mais avant d'aller plus loin, j'ai deux problèmes qui se posent.

J'ai créée une base de donnés avec les champs suivant id, nom, email, message, date. Elle fonctionne correctement la date s'affiche en mode Anglais.
Par contre sur ma page test, l'heure s'affiche également en mode Anglais 2012-09-22 alors que je la voudrais en mode Français. J'ai pas mal cherché, essayé de nombreuses choses mais sans succès soit elle reste en mode Anglais ou elle s'affiche 01-01-1970. Bref rien ne fonctionne.
Un partie du code php qui je pense doit être modifier

$query=mysql_query("INSERT INTO livredor(id,nom,email,message)VALUES('','$nom','$date','$message')");
if($query)
{
$ENTREE_DB = "OK";
$select=mysql_query("SELECT*FROM livredor ORDER BY id DESC");

while($row=mysql_fetch_assoc($select))
{
echo"Posté par:".$row['nom']." le ".$row['date']."<br/>".$row['message']."<br/>";
}



Deuxième problème, j'ai \ qui s'affiche quand j'envoie un message. Par exemple si j'envoie c'est bon, ça s'affiche comme ça"C\'est"

Comme je le dit au début de mon message, je suis débutant, c'est le premier script que je modifie, je ne serais pas capable d'en créé un pour le moment. J'ai parcourue de nombreux sites et forums, et je sais qu'il y a plusieurs solutions sont possible pour afficher la date mais soit qu'il faut que je modifie mon code actuel ou j'ai mal placer les codes.
Pour le problème de "\", je n'ai rien trouvé du tout.
En espérant que vous allez pouvoir m'aider.