Mise à jours Timestamp

Eléphanteau du PHP | 38 Messages

14 nov. 2006, 13:51

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

Mammouth du PHP | 19672 Messages

14 nov. 2006, 13:53

Fais afficher tes requêtes, à mon avis tu vas avoir une surprise :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 38 Messages

14 nov. 2006, 14:02

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

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

14 nov. 2006, 14:55

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 38 Messages

14 nov. 2006, 17:12

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

ViPHP
ViPHP | 1961 Messages

14 nov. 2006, 17:23

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.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 38 Messages

14 nov. 2006, 19:04

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