Bleme de temps GMT

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 : Bleme de temps GMT

par @rthur » 21 janv. 2008, 02:43

Bonjour,

Le fait de récupérer toutes les dates d'anniversaire pour filtrer ensuite est à mon avis très gourmand en ressources pour pas grand chose.
Tu peux faire ton filtre directement dans ta requète MySQL:
mysql_query("SELECT * FROM anniversaires WHERE mois='".date("n")."' AND jour='".date("j")."'");
Et ça doit même pouvoir se faire en 100% MySQL avec quelque chose du genre:
mysql_query("SELECT * FROM anniversaires WHERE mois=MONTH(NOW()) AND jour=DAYOFMONTH(NOW())");
Après pour corriger ton problème, il faut que tu regardes l'heure de ton serveur avec
print date("H:i:s");
pour savoir si tu es à la bonne heure, sinon tu es bon soit pour essayer ma 2ème requète "100% MySQL" car ton serveur MySQL sera peut être à l'heure ou à défaut bidouiller en testant l'heure qu'il est et en jouant sur un (date("j")-1) si (date("h")==23)

Bleme de temps GMT

par Kalyptus » 21 janv. 2008, 00:40

Bonsoir tout le monde :)
Jai un petit souci. Voila mon script PHP :
<?php
header("Expires: 0"); 
header("Cache-Control: no-cache, no-store, must-revalidate"); 
header("Pragma: no-cache"); 
header("Content-type: image/jpeg");
$largeur = 400;
$hauteur = 400;
$compteur = 0;
$img = imageCreate($largeur, $hauteur);
$rouge = imageColorAllocate($img, 0, 128, 255);
$noir = imageColorAllocate($img,255,255,255);
$indice = 0;
$personne = "Personne :(";
$connexion = mysql_connect TOP SECRET TOUT CA MUHAHA
mysql_select_db("simjun4_dotclear");
$requete = "SELECT * FROM anniversaires";
$reponse = mysql_query($requete);
$font = imageloadfont("font4.gdf");
while($line=mysql_fetch_assoc($reponse)) {
	$pseudo =  $line["pseudo"];
	$mois =  $line["mois"];
	$moisa = date("n");
	$jour = $line["jour"];
	$joura = date("j");
	if( $mois == $moisa && $jour == $joura ) {
		$titre        = $pseudo;
		$titre_police = 5;
		imageString($img, $font, ($largeur-imageFontWidth($font)*strlen("$titre"))/2, $indice*40+2, $titre, $noir);
		$indice = $indice + 1;
		$compteur = $compteur + 1;
	}
}
if($compteur == 0) {
	imageString($img, $font, ($largeur-imageFontWidth($font)*strlen("$personne"))/2, $indice*20+2, "$personne", $noir);
}
mysql_close($connexion);

imageJPEG($img);
imageDestroy($img);  
?> 
Ca crée une image JPG avec les pseudos des gens qui ont leur anniversaire au moment ou l'image est consultée. Le bleme, c'est que c'est reglé sur GMT :( Du coup à 23h00 ça souhaite deja pour le lendemain :(

Comment corriger ça ?

Merci, a+

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]