l'erreur “Cannot modify header information”quel est sa cause ?
-On tente de modifier des entêtes de documents alors que des informations ont déjà été envoyées au client.
mais j'ai pas toujours compris
pouvez expliquez d'avantage ?
merci
l'erreur “Cannot modify header information”quel est sa cause ?
-On tente de modifier des entêtes de documents alors que des informations ont déjà été envoyées au client.
mais j'ai pas toujours compris
pouvez expliquez d'avantage ?
merci
Bonjour,
Houps je réponds a ta question, c' est toujours lorsqu'il y a déjas même un petit espace avant le
Je réédites pour ajouter que la page HTML crée un HEADER dés qu'il y a un ligne ou un espace
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?PHP xxxxxxxxxxx
géneralement c'est quand tu fait usage de la fonction header après avoir fait des echo. Est ce le cas pour toi ?Envoyé par Jcpan
Développeur | Zend Certified Engineer
Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;
Nix>_Rien n'est plus pratique que la théorie
exactement
Mais mémé si je l'ai supprimé j'ai le même cas et pas d'espace dans le code PhP j'ai juste ajouter ce ci dans mon fichier de connexion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 session_start(); $_SESSION["id"]; $_SESSION["nom"];Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\workspace\fphp\src\Login.php:2) in C:\workspace\fphp\src\Connect.php on line 3
Oui je crois comprendre, tu ne montre pas ton PHP ce qui nous empéche de t'aider, tu as compris que toutes ces actions doivent se faire une seule fois, et en tête du fichier bien collé au bord
Mais j'ais bien dit en tête, si tu fais des includes ou autres tu est en plein milieu du PHP ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?PHP etc ...
Le PHP résultant est le PHP ou tout est écrit dedans, même les includes
Ors dans le PHP tu ne peux ouvrir deux fois de session !
unité session qui fait appel à l'unité test3.php
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 <form name="form1" method="post" action=""> <label>ID <input type="text" name="ID" id="ID"> </label> <label>Nom <input type="text" name="Nom" id="Nom"> </label> <label> <input type="submit" name="Valider" id="Valider" value="Valider"> </label> </form> <?php if( (isset($_POST['ID'])) && (isset($_POST['Nom'])) ){ if( ( $_POST['ID'] == "1" ) && ($_POST['Nom']== "1") ) { session_start(); $_SESSION["id"] = $_POST['ID']; $_SESSION["nom"] = $_POST['nom'] ; echo "dd"; header("test3.php"); } } ?>
unité test3.php
erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php include("session.php"); echo "<p>ID : $_SESSION[id]</p>"; echo "<p>NOM : $_SESSION[nom]</p>"; ?>
voilaWarning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\workspace\fphp\src\Session.php:15) in C:\workspace\fphp\src\Session.php on line 20
dd
Warning: Cannot modify header information - headers already sent by (output started at C:\workspace\fphp\src\Session.php:15) in C:\workspace\fphp\src\Session.php on line 24
Salut
Tu affiche bel et bien quelque chose avant ton header
Afficher de l'HTML c'est comme si tu fesait un "echo xxxxx;"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form name="form1" method="post" action=""> <label>ID <input type="text" name="ID" id="ID"> </label> <label>Nom <input type="text" name="Nom" id="Nom"> </label> <label> <input type="submit" name="Valider" id="Valider" value="Valider"> </label> </form>
Il faut mettre ton code PHP en premier.
même chose
erreur
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 <?php if( (isset($_POST['ID'])) && (isset($_POST['Nom'])) ){ if( ( $_POST['ID'] == "1" ) && ($_POST['Nom']== "1") ) { session_start(); $_SESSION["id"] = $_POST['ID']; $_SESSION["nom"] = $_POST['nom'] ; echo "dd"; header("test3.php"); } } ?> <form name="form1" method="post" action=""> <label>ID <input type="text" name="ID" id="ID"> </label> <label>Nom <input type="text" name="Nom" id="Nom"> </label> <label> <input type="submit" name="Valider" id="Valider" value="Valider"> </label> </form>
Warning: Cannot modify header information - headers already sent by (output started at C:\workspace\fphp\src\Session.php:8) in C:\workspace\fphp\src\Session.php on line 9
Le echo "dd"; est il voulu ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager