Php Warning: Cannot modify header information
Résolu/Fermé
A voir également:
- Php Warning: Cannot modify header information
- Easy php - Télécharger - Divers Web & Internet
- Warning zone telechargement - Accueil - Outils
- Cpu fan fail warning control - Forum Windows
- Expert php pinterest - Télécharger - Langages
- Pcl xl error warning illegal media type - Forum Imprimante
8 réponses
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
29 déc. 2009 à 17:43
29 déc. 2009 à 17:43
Tu ne peux plus modifier les entêtes HTTP une fois qu'un caractère de la apge a été envoyé au client.
Donc avant le premier "<?php", il ne doit y avoir aucun caractère (espace compris), et tu ne dois faire aucun echo/print(f) avant la fonction header().
Tu peux utiliser la tamporisation de sortie si tu ne veux pas être ennuyé avec ça :
http://www.siteduzero.com/tutoriel-3-38102-la-tamporisation-de-sortie-en-php.html
Donc avant le premier "<?php", il ne doit y avoir aucun caractère (espace compris), et tu ne dois faire aucun echo/print(f) avant la fonction header().
Tu peux utiliser la tamporisation de sortie si tu ne veux pas être ennuyé avec ça :
http://www.siteduzero.com/tutoriel-3-38102-la-tamporisation-de-sortie-en-php.html
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
31 déc. 2009 à 13:28
31 déc. 2009 à 13:28
tu as mis sur ton deuxieme code deux fois session_start;
1 en premiere ligne et l' autre plus bas.
Il ne faut en mettre qu' un et il doit etre avant tout code html.
Supprime celui-ci (juste session_start)
session_start();
$_SESSION['login'] = $_POST['login'];
$_SESSION['id'] = $data['id'];
1 en premiere ligne et l' autre plus bas.
Il ne faut en mettre qu' un et il doit etre avant tout code html.
Supprime celui-ci (juste session_start)
session_start();
$_SESSION['login'] = $_POST['login'];
$_SESSION['id'] = $data['id'];
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
31 déc. 2009 à 14:50
31 déc. 2009 à 14:50
Tu as aussi au début :
Ca va envoyer un retour à la ligne au navigateur et tu ne pourras plus faire d'header après, et ca ne sert à rien de fermer le bloc php pour le rouvrir tout de suite.
?> <?php
Ca va envoyer un retour à la ligne au navigateur et tu ne pourras plus faire d'header après, et ca ne sert à rien de fermer le bloc php pour le rouvrir tout de suite.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
31 déc. 2009 à 15:31
31 déc. 2009 à 15:31
pas de merci? pas de resolu? comme d 'habitude
Utilisateur anonyme
3 janv. 2010 à 12:12
3 janv. 2010 à 12:12
non c'est que je n'est pas pu aller sur mon ordinateur cette semaine !
je vais tester ça !
merci d'avance !
je vais tester ça !
merci d'avance !
Utilisateur anonyme
3 janv. 2010 à 12:21
3 janv. 2010 à 12:21
je viens de tester j'ai modifier mon code comme ça :
<?php session_start(); if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { $base = mysql_connect ('mystère', 'et boule', 'de'); mysql_select_db ('gomme', $base); $sql = 'SELECT id FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows($req); if ($nb == 1) { $data = mysql_fetch_array($req); $_SESSION['login'] = $_POST['login']; $_SESSION['id'] = $data['id']; mysql_free_result($req); mysql_close(); header('Location: index.php'); exit(); } elseif ($nb == 0) { $erreur = 'Compte non reconnu.'; } else { $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } mysql_free_result($req); mysql_close(); } else { $erreur = 'Au moins un des champs est vide.'; } } ?>