Bonjour à tous, je viens à vous avec une erreur connue de tous mais qui m'ennuie depuis une semaine. Le fameux warning "header has already sent ".
Je l'ai déjà vu quelques fois et toujours réglé rapidement en retirant tout code html d'avant l'envoi de mes cookies. Mon soucis c'est que là, je ne génère aucun flux html avant l'appel de la fonction. Voyez plutôt :
À savoir que constante.php ne contient que les définitions des 3 constantes de connexions à la base de données ( j'ai testé en les rentrant en dur et le même warning advient ).
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
28
29
30
31
32
33
34
35
36
37 <?php require("./constante.php"); $link=mysql_connect(HOST,LOGIN,MDP); $database = mysql_select_db(DATABASE); function vue($currentPage) { $saw = false; if(!isset($_COOKIE['french-lab'][$currentPage])) { setCookie('french-lab['.$currentPage.']',$currentPage,time()+365*24*3600); mysql_query("UPDATE contenu SET vue = contenu.vue +1 WHERE id = $currentPage ")or die(mysql_error()); } else { foreach ($_COOKIE['french-lab'] as $tab) { if($tab == $currentPage) { $saw = true; } } if($saw == false) { mysql_query("UPDATE contenu SET vue = contenu.vue +1 WHERE id = $currentPage ")or die(mysql_error()); setCookie('french-lab['.$currentPage.']',$currentPage,time()+365*24*3600); mysql_query("UPDATE contenu SET vue = contenu.vue +1 WHERE id = $currentPage ")or die(mysql_error()); } } } if(!((isset($_GET['nom']))&&(isset($_GET['email']))&&(isset($_GET['commentaire'])))&&(isset($_GET['id']))) { $id = htmlspecialchars($_GET['id']); vue($id); } ?><!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> /* etc ... */
Si quelqu'un a une petite idée, je suis preneur. Je dois achever ce projet scolaire d'ici 2 semaines et je commence à m'affoler
Pour ceux qui voudrait voir le site, il est en ligne sur www.french-lab.fr ( sans la partie cookies et session justement :S )
P.S À la base la fonction vue est contenu dans constante.php, je vous l'ai mis avec pour une meilleure compréhension
Partager