Page 1 sur 1

Mise à jours Timestamp

Posté : 14 nov. 2006, 13:51
par ALphaman
Bonjour

J'ai une question un peu bête, mais comment met-on a jour le timestamp d'un membres qui vien de se connecter ? Voila le code que j'ai essayer mais sa n'a pas l'air de marcher
<?php
//Ne pas oublier de mettre le session_start()
session_start();

require("config.inc.php");
//Connexion à la base de données.
mysql_connect($host,$username,$password);
mysql_select_db($bdd_name);


$argent = mysql_query("SELECT * FROM membres ");
while ($donnees = mysql_fetch_array($argent) )
{
$cash= $donnees['cash'];
$pseudo= $donnees['pseudo'];
$point= $donnees['point'];

}

//On vérifie que le membre est connecté.
if (isset($_SESSION['logged']) && $_SESSION['logged'] === true)
{

$temps_actuel = time();
mysql_query("UPDATE membres SET timestamp='".$temps_actuel."' WHERE pseudo='".$pseudo."'") or die(mysql_error()); 
   echo "Bonjour $pseudo </br>Euro: $cash </br>Vie: $vie <br/>Point: $point </br><a href=\"deconnexion.php\">Déconnexion</a>";
}
else
   echo 'Erreur : vous devez être connecté pour accéder à cette page !<br /> Allez <a href="index.php">ici</a> pour vous connecter.';

mysql_close();
?>
Avec une table membres

Code : Tout sélectionner

id pseudo mot_passe confirmation confirmation_code email cash point timestamp metal
Si vous avez une solution je vous remerci

Posté : 14 nov. 2006, 13:53
par Cyrano
Fais afficher tes requêtes, à mon avis tu vas avoir une surprise :-k

Posté : 14 nov. 2006, 14:02
par ALphaman
J'ai donc fait
echo "$temps_actuel";
et sa ma affiché 1163505701 donc sur ce point c'est bon mais je ne vois pas pourquoi il ne veu pas etre mis a jours dans la bdd

Posté : 14 nov. 2006, 14:55
par Ryle
Ca c'est une valeur, ce n'est pas la requête que tu as généré ;)
Enfin tu peux déjà la comparer au format habituel d'un timestamp MySQL...

Par ailleurs je suis étonné que tu n'ais pas de message d'erreur sql explicite. M'est avis qu'il y a plus judicieux que d'utiliser un mot clé sql pour nommer une de ses colonnes :)

Posté : 14 nov. 2006, 17:12
par ALphaman
Enfaite une simple erreur je pense j'ai juste a mettre comme type au timestamp INT au lieu de TIMESTAMP et sa a fonctionner ( et quelque modif dans le code )

merci en tous cas

Posté : 14 nov. 2006, 17:23
par Ajoloca
Bonjour,

Ce que Ryle veut dire c'est que tu devrais nommer ton champ 'timestamp' autrement. Ce mot est un mot réserver MySQL et pour pouvoir l'utiliser comme nom de champ tu devras le protéger à chaque fois que tu accèdes par des accents graves (clavier français Alt Gr + 7) mais ça reste une très mauvaise pratique.

Posté : 14 nov. 2006, 19:04
par ALphaman
Ah d'accord merci pour l'explication j'ai lu sa phrase un peu trop vite je l'avais compris completement autrement sinon merci :D