Bonjour,
je fais appel à vos talents car je ne parviens pas à résoudre un problème que j'ai avec un header.
En effet, j'ai une erreur "classique" du type "Warning: Cannot modify header information - headers already sent by (output started at D:\Programmation\index.php:10) in D:\Programmation\utilisateur\authentification.php on line 2"
Je sais que l'erreur la plus courant est l'ajout d'html avant de balancer le header mais je ne parviens pas à résoudre le soucis, compte tenu de la construction de mon site...
En effet ma page d'index se constitue de la manière suivante:
Et pour le log, ça se passe de la manière suivante. Il y a un formulaire très basique qui envoie vers ça:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <?php session_start(); include_once "config/variablesCommunes.php"; ?> <html> <head> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="style/style.css" /> <script language="JavaScript"> //Un peu de JS est placé ici théoriquement } </script> </head> <body> <div class="header"> <?php include("header.php"); ?> </div> <div class="menu"> <?php include("menu.php"); ?> </div> <div class="contenu"> <?php if ($_SESSION['utilisateur_connecte'] == NULL) { switch($_GET['page']){ case 'formulaireLog' : include "utilisateur/formulaireLog.php"; break; case 'authentification' : include "utilisateur/authentification.php"; break; case 'bravo' : include "utilisateur/bravo.php"; break; } } etc...
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 <?php header('Location: index.php?page=bravo'); //include_once "../config/variablesCommunes.php"; $_SESSION['utilisateur_connecte'] = false; $requete = null; $mdp = $_POST['mdp']; $mdp = md5($mdp); $requete = mysql_query("SELECT * FROM utilisateur WHERE utilisateur_login='".$_POST['login']."' AND utilisateur_mdp='".$mdp."';"); $donnees = mysql_fetch_array($requete); //Connexion réussie! if ($donnees != null) { $_SESSION['utilisateur_connecte'] = true; $_SESSION['idUser'] = $donnees['utilisateur_id']; echo "Vous êtes connecté!"; } //Connexion échouée else { echo "Vous n'êtes pas connecté!"; } ?>
Et donc voilà, quand je tente de valider le formulaire, la page n'est pas redirigée et j'ai le message d'erreur indiqué plus haut. Pour info, la ligne 10 ma page d'index est la ligne suivante: "<script language="JavaScript">". J'ai beau commenter la chose, la ligne indiquée est toujours la ligne 10. Et si je supprime une ligne vierge avant, le nombre passe à 10. Je ne comprends pas tout....
Je précise aussi une chose importante: un autre envoi de header est utilisé dans mon site mais pour une action totalement différente de l'identification! Elle redirige également vers l'index.
Bon voilà, j'espère avoir été le plus clair. Je suis présent pour n'importe qu'elle question qui pourrait faire avancer le problème!
Merci !!
David
Partager