LE NEWSMAGAZINE Nº1 DES NOUVELLES TECHNOLOGIES
209 utilisateurs connectés

rajouter l'heure et la date dans livre d'or

le 44 le 08 juin 2008 à 12h14
bonjour, je blok bcp poru rajouter l'heure et la date a laquelle a été envoie le message dans le livre d'or. deplus, j'ai remarqué qu'on pouvais envoié un message sans mettre de pseudo et c'est trés embétant. alors je voudrais 3 chose :
=> rajouter l'heure
=> rajouter la date
=> rajouter un système de case vide.

Merci


-->Message édité par le 44 le 22/06/2008 12:37:54<--
hamster3553 le 08 juin 2008 à 14h24
Salut:
Pour l'heure et la date, il existe la simplissime fonction date en php. Allez: un petit lien http://www.phpdebutant.org/article53.php
Pour verifier que le champs n'est pas vite, il suffit de le tester !
if (tonchamp== null){echo 'erreur';}else{ //ce que tu veux ! }
le 44 le 08 juin 2008 à 18h27
ok je vais voir tout sa! merci
le 44 le 08 juin 2008 à 18h43
a un moment dans mon script j'ai sa:
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . ' </p>';


ou dois-je placer ma ligne
Print("Nous sommes le $date et il est $heure");


merci
hamster3553 le 10 juin 2008 à 11h44
Comme ça par exemple::

echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . ' </p> le '.$date.' à '.$heure;

-->Message édité par hamster3553 le 10/06/2008 11:44:32<--
le 44 le 10 juin 2008 à 12h19
oui mais il s'affiche la date et l'heure actuel, et non la date a laquelle le message a été écrit !
hamster3553 le 10 juin 2008 à 14h50
ahhhhhhh ! c'est ça que tu veux !!!lol
et bien c'est très simple. Je suppose que les messages sont stockés dans une base de données? Donc tu recupéres la date et l'heure avec la fonction date() et tu insert dans ta base. Tu n'as plus qu'a la récupérer comme tu le fais avec tes messages.
le 44 le 10 juin 2008 à 19h23
donc je crer un ligne datetime et apré je fais quoi ??
hamster3553 le 10 juin 2008 à 20h58
et bien comme pour tes messages !
Je suppose que tu as un formulaire qui envoit ton message, le pseudo, etc dans ta bdd. et bien fait juste pareil avec la date !

$date=date(); // tu stocke la date dans une variable


tu dois avoir un truc du genre qui sert a envoyer ton message dans ta bdd. tu rajoute donc ta variable $date.

$requete = "INSERT INTO livreDor VALUES ( '$date','$message','$pseudo')";
if (mysql_query($requete)) { echo "Insertion OK.>"; }
else { echo "Erreur ajout !"; }


Si tu piges pas, montre moi ton code !


Je fais un petit edit sur mon message car je viens d'aller voir ton site. C'est de ce livre d'or dont tu parles? Car la date y figure... :sarcastic: Mais je comprend pas son fonctionnement..; Comment font les personnes pour laisser leurs messages?
Et si je peux me permettre, les couleurs de celui-ci sont 'agressive' (enfin le rouge surtout !)...
-->Message édité par hamster3553 le 10/06/2008 21:03:21<--
le 44 le 10 juin 2008 à 22h11
non, ce n'est pas le livre d'or du mpetf37. moi c'est un site en cours sur la photographie.

<?php
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
{
$date = date("d-m-Y");
$heure = date("H:i");
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit le ' . $date. ' à ' . $heure. ' : <br />' . $donnees['message'] . ' </p>';
}


mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>


ça c'est le code avec des pb. et je ne vois pas où tu veux insérer la date.

merci de m'aider :bisou: lol
le 44 le 10 juin 2008 à 22h11
bien sur ce n'est qu'une partie de mon code. si tu veux avoir le code entier, je l'ai prix sur le site du zéro, partie php, tp: livre d'or.
hamster3553 le 11 juin 2008 à 10h34
Ok. alors je reprend. je suis aller voir le tuto que tu cites pour mieux comprendre.
Dans l'étape 1, il te font créer un formulaire pour que les visiteurs ecrivent leurs messages.Toujours dans l'étape 1, il insert ces résultats dans la base de données avec la ligne suivante:
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')");

C'est ici que l'on va récupérer la date et l'insérer aussi dans la base. On remarque qu'il y a 3 champs dans la base:
'', '" . $pseudo . "', '" . $message . "')"

qui doivent représenter l'id,le pseudo et le message. Il faut (si c'est pas déja fait, ajouter un champs a cette base.
Esuite tu recupére la date
$date=date()

et tu remplace insertion précédente par celle-ci:
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "','$date')");

La date d'envoi du message est donc enregistrer.

Ensuite dans l'étape 3, il t'explique comment afficher ces messages.
C'est la que tu va ecrire:
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . ' </p> le '.$donnees['date'];
le 44 le 11 juin 2008 à 21h05
et mon camps date dans ma bdd, il est appeler comment, et quelle type c'est ?? un datetime ? avec combien de chiffre, en primer keys ?
hamster3553 le 12 juin 2008 à 15h22
Si tu n'as pas l'intention de faire d'opération sur les dates, t'a qu(a pas t'embeter. Tu mets un varchar,tu l'appelle date comme ça ca colle avec mon exemple.et c'est tout. </tr>
le 44 le 12 juin 2008 à 21h39
ok je fai sa et je regarde ^^
le 44 le 13 juin 2008 à 10h22
sa ne marche pas !!!!!!!!!

récapitulons ^^
j'ai un champs "date" en varchar avec 20 en taille.
j'ai ma variante $date

et sa va pas ^^ je demande de l'aide a tout les internaut ^^
hamster3553 le 13 juin 2008 à 11h19
quel erreur??
qu'est ce qui bloque !!??
comment est organiser ta bdd??
donne nous le code de tout ton livre d'or car on va pas s'en sortir sinon !

-->Message édité par hamster3553 le 13/06/2008 11:22:48<--
le 44 le 13 juin 2008 à 11h50
<?php


mysql_connect("localhost", "....", "....");
mysql_select_db("....");

// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------

if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />

// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "','" . $date . "')");
}

// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------

// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 100000; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
?>

</p>
<font color="#ffffff">
<?php


// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------

if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
{
$date = date("d-m-Y");
$heure = date("H:i");
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . ' </p> le '.$donnees['date'];
}


mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>

-->Message édité par le 44 le 13/06/2008 11:50:48<--
hamster3553 le 13 juin 2008 à 14h04
la recupération de la date n'est pas au bon endroit (tu recuperes celle-ci a l'affichage hors tu dois la récupérer avant l'insertion dans la bdd):
<?php


mysql_connect("localhost", "....", "....");
mysql_select_db("....");

// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------


if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
$date=date();
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "','" . $date . "')");
}

// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------

// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 100000; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
?>

</p>
<font color="#ffffff">
<?php


// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------

if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
{

echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . ' </p> le '.$donnees['date'];
}


mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>


si ta bdd contient 4 champs:id, pseudo, message, date ca doit marcher
-->Message édité par hamster3553 le 13/06/2008 14:08:37<--
le 44 le 14 juin 2008 à 14h35
pas pour moi en tout cas !
hamster3553 le 16 juin 2008 à 09h29
bah la, je comprend pas du tout !!!
hamster3553 le 16 juin 2008 à 09h29
tu as kel message d'erreur ??
le 44 le 16 juin 2008 à 09h34
j'ai aucun message d'erreur ! j'ai juste
"mon nom a écrit:
blalbalablablabla
le "

et ya pas la date !!
hamster3553 le 16 juin 2008 à 14h47
et ta date elle est dans ta bdd où ca non plus ca n'a pas marché ?
car ya 2 solution:
- insert au mal réalisé (a priori c'est celle-ci).
- l'écriture du contenu de la base est mal réalisé
le 44 le 16 juin 2008 à 19h21
bah mon livre d'or sa marche ^^ impeccable !
le 44 le 16 juin 2008 à 19h22
mais pas la date donc ce n'est pas l'insertion !
hamster3553 le 16 juin 2008 à 21h06
Essaie ça :
$date=date();
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "','$date')");


si ca marche pas, fais différents test: essai d'insérer autre chose que la date par exemple.
le 44 le 18 juin 2008 à 11h33
sa marche pas du tout ! et ce que tu as essayer sur ton pc ??
le 44 le 18 juin 2008 à 14h26
c bon !! j'ai trouvé la solution ^^ et j'ai mi du temps ^^

le code c'est sa ! :

$date = date("Y/m/d H:i");


et sa !

mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "',' $date ')");


et sa marche ^^
le 44 le 18 juin 2008 à 14h30
mais maintenant, comment bien mettre l'heure et la date:
faire du style " mercredi 18 juin 2007 à 14h30 " !
hamster3553 le 18 juin 2008 à 14h30
Mdr ! j'avais pas vu que j'avais pas spécifié le format de la date !!! lol
bon bah c cool si tu t'en est sorti tout seul !
jejegraphx le 18 juin 2008 à 18h15
le 44 a écrit :
mais maintenant, comment bien mettre l'heure et la date:
faire du style " mercredi 18 juin 2007 à 14h30 " !


Je doute que cela soit possible :chepa:
le 44 le 18 juin 2008 à 20h47
ok
hamster3553 le 19 juin 2008 à 09h25
Bien sur que c'est possible !
tout est la: http://www.devparadise.com/technoweb/code/php/a412.php
le 44 le 19 juin 2008 à 11h08
ok merci hamster3553 ! et encore 2 p'tites chose !!

euh je voudrais mettre mes commentaires dans un tableau.
( comme sur ce livre d'or la ! http://mpetf37.free.fr )
et je voudrai mettre

login a écrit le date :
message

mettre la date juste aprés et non a la fin !

merci
hamster3553 le 19 juin 2008 à 17h03

mettre la date juste aprés et non a la fin !

juste après quoi? j'ai pas bien compris la question !?
le 44 le 19 juin 2008 à 20h43
et bien mettre la date avant le message et apré le nom de l'auteur du message .
hamster3553 le 20 juin 2008 à 09h45
et bien tu place ton <?php echo $donnees['date']; ?> la ou tu veux que s'affiche ta date.....
le 44 le 20 juin 2008 à 20h52
ok
et pour mettre les messages dans un tableau ??
hamster3553 le 28 juin 2008 à 16h58
Desolé pour la réponse tardive... vacances oblige !!! et bien tu crée un tableau et dans les td du tableau tu place les contenu avec la ligne deja données au dessus.


À PROPOS DU FORUM MICRO HEBDO

LES FORUMS THÉMATIQUES ET TECHNIQUES

LES FORUMS GÉNÉRAUX

ARCHIVES DU FORUM

publicité
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.