La fameux erreur " headers already sent by "
Hosny
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous, d'après le titre vous aller comprendre la moitié de mon problème. J'ai verifié partout sur CCM ainsi dans différents forums et sites web mais aucune solution n'était pour mon cas.
Je voudrais créer un fichier php "login.php" pour verifier pseudo et passe d'un panneau d'administration via ma base de données. Tout marche très bien sur WAMP cependant sur mon hébergeur ce n'est pas le cas >_<
Voilà mon fichier "login.php" :
Je répète ce code marche très très très bien sous WAMP.
mais lors de l'exécution sur mon hébergeur ! voila le résultat :
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/database_connect.php:19) in /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/login.php on line 17
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/database_connect.php:19) in /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/login.php on line 17
Warning: Cannot modify header information - headers already sent by (output started at /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/database_connect.php:19) in /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/login.php on line 21
Quelqu'un puisse me sauver :/ ! Merci d'avance.
Je voudrais créer un fichier php "login.php" pour verifier pseudo et passe d'un panneau d'administration via ma base de données. Tout marche très bien sur WAMP cependant sur mon hébergeur ce n'est pas le cas >_<
Voilà mon fichier "login.php" :
<?php
include("database_connect.php");
$pseudo = $_POST['login'];
$pass = $_POST['password'];
$session = $bdd->query('SELECT pseudo, pass FROM session WHERE ID= 1');
//Ici j'ai chargé le tableau de session
$data = $session -> fetch();
$db_pseudo = $data['pseudo'];
$db_pass = $data['pass'];
if(isset($pseudo,$pass) AND $pseudo==$db_pseudo AND $pass==$db_pass)
{
/*Bon ici on va débuter la sessio la session*/
session_start();
// On s'amuse à créer quelques variables de session dans $_SESSION
$_SESSION['pseudo'] = 'admin';
header("Location: ../admin.php");
}
else
{
echo "Probleme lors de la connexion au panneau d'adminitration. Veuillez verifier les donnees saisis !";
header("Location: ../index.php");
}
?>
Je répète ce code marche très très très bien sous WAMP.
mais lors de l'exécution sur mon hébergeur ! voila le résultat :
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/database_connect.php:19) in /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/login.php on line 17
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/database_connect.php:19) in /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/login.php on line 17
Warning: Cannot modify header information - headers already sent by (output started at /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/database_connect.php:19) in /home/boukil/public_html/abdellah_boukil/abdellah_admin/db_app/login.php on line 21
Quelqu'un puisse me sauver :/ ! Merci d'avance.
A voir également:
- La fameux erreur " headers already sent by "
- Files by google - Accueil - Applications & Logiciels
- By click downloader avis - Forum Enregistrement / Traitement audio
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur lors de l'enregistrement du contact - Forum Xiaomi
1 réponse
Bonjour
output started at /home/.../database_connect.php:19
C'est là que les premiers caractères ont été envoyés, c'est de ce côté là qu'il faut chercher. Si ton fichier database_connect.php se termine par ?>, supprime ce ?> car il ne sert à rien et il y a sans doute des caractères à la fin du fichier.
C'est d'ailleurs ce qui est recommandé dans le manuel PHP, bien qu'on voie la plupart des programmeurs continuer à mettre ce ?> en fin de fichier.
Si ça marche en local, c'est peut-être simplement que les données sont mises en cache - donc pas envoyées aussitôt - chez toi, alors qu'en ligne tu n'as pas cette mise en cache.
output started at /home/.../database_connect.php:19
C'est là que les premiers caractères ont été envoyés, c'est de ce côté là qu'il faut chercher. Si ton fichier database_connect.php se termine par ?>, supprime ce ?> car il ne sert à rien et il y a sans doute des caractères à la fin du fichier.
C'est d'ailleurs ce qui est recommandé dans le manuel PHP, bien qu'on voie la plupart des programmeurs continuer à mettre ce ?> en fin de fichier.
Si ça marche en local, c'est peut-être simplement que les données sont mises en cache - donc pas envoyées aussitôt - chez toi, alors qu'en ligne tu n'as pas cette mise en cache.