Bonjour,

J'ai un problème avec mon header Last-Modified: j'essaye de faire renvoyer un header 304 pour les champs non modifiés de ma base de données Mysql. Je retrouve la date de modification par cette requète:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$row_date['date'] = gmdate();
$colname_date = "1";
if (isset($_SERVER['date'])) {
  $colname_date = (get_magic_quotes_gpc()) ? $_SERVER['date'] : addslashes($_SERVER['date']);
}
mysql_select_db($database_recettes, $recettes);
$query_date = sprintf("SELECT `date` FROM recettes WHERE receptID = %s", $colname_date);
$date = mysql_query($query_date, $recettes) or die(mysql_error());
$row_date = mysql_fetch_assoc($date);
$totalRows_date = mysql_num_rows($date);
 
$last_modified = gmdate('D, d M Y H:i:s', $row_date['date']) . ' GMT';
// did the browser send an if-modified-since request?
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
  // parse header
  $if_modified_since = preg_replace('/;.*$/', '', $_SERVER['HTTP_IF_MODIFIED_SINCE']);
 
  if ($if_modified_since == $last_modified) {
    // the browser's cache is still up to date
    header('HTTP/1.0 304 Not Modified');
 
 
    exit;
  }
}
 
header('Last-Modified: ' . $last_modified);
La requète fonctionne, puisque la date exate est renvoyée. J'ai mis cette date sur les pages php du site. Exemple -http://www.foodstyling.be/detailfr.php?recordID=1 (juste en dessous du titre pour vérifier. Mais mon header me donne une date surréaliste:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
HTTP/1.1 200 OK
Date: Sat, 30 Sep 2006 13:16:11 GMT
Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux) PHP/
4.3.11
X-Powered-By: PHP/4.3.11
Last-Modified: Tue, 19 Jan 2038 03:14:07 GMT
Connection: close
Content-Type: text/html
Et je ne trouve pas l'erreur.
Merci d'avance pour votre aide

Foodstyling