Bonjour,
J'ai un probleme pour faire une difference de date... dans une base mysql j'ai un champs last_connection qui reçoit mktime() a chaque login du joueur et quand je fais mktime()-last_connection il me sort un resultat enorme... je voudrais juste avoir le temps en seconde entre les deux connexion.
Voici mon code ça sera plus facil (enfin j'espere) :
Code :
- <?php
- require_once ("parametre_bd.php" );
- require_once ("connexion.php" );
- $pseudo = ucfirst($_POST['pseudo']);
- $password = $_POST['password'];
- $resultat = mysql_query("SELECT * FROM `joueur` WHERE `pseudo` = '".$pseudo."'",$connexion);
- $sql = mysql_fetch_object($resultat);
- $verif_password = $sql->password;
- $date_ancienne = $sql->last_conection;
- if ($verif_password != $password) {
- echo '<CENTER><P class=historique>Mauvais password ou login.</P></CENTER>';
- include ('index.php');
- exit();}
- else {
- $dif_date = mktime() - $date_ancienne;
- $now=mktime();
- if ( $dif_date > 5 ) {
- mysql_query("UPDATE `joueur` SET `last_conection`='".$now."' WHERE `pseudo`='".$pseudo."';" ) or die ("Requête invalide" );
- $sql_village = mysql_query("SELECT * FROM `villes` WHERE `pseudo` = '".$pseudo."'",$connexion);
- while ( $row = mysql_fetch_assoc ( $sql_village ) ) {
- $new_or = $row['or']+(( $row['paysan_or'] * $dif_date ) / 3600);
- $new_bo = $row['bois']+(( $row['paysan_bois'] * $dif_date ) / 3600);
- $new_no = $row['nourriture']+(( $row['paysan_nourriture'] * $dif_date ) / 3600);
- mysql_query("UPDATE `villes` SET `bois`='".$new_bo."', `or`='".$new_or."', `nourriture`='".$new_no."' WHERE `nom`='".$row['nom']."';" ) or die ("Requête invalide" );
- }
- }
- header("Location: http://127.0.0.1/nouvelles.php" );}
- ?>
|
J'ai deja regarde sur nexen mais je dois vraiment etre nul...
PS : je sais c'est pas du tout W3C ...