Erreur : impossible d'envoyer l'en-tête. En-tête déjà envoyé
Fermé
tino_2065
Messages postés
24
Date d'inscription
samedi 3 avril 2021
Statut
Membre
Dernière intervention
4 mars 2022
-
27 nov. 2021 à 07:11
tino_2065 Messages postés 24 Date d'inscription samedi 3 avril 2021 Statut Membre Dernière intervention 4 mars 2022 - 30 nov. 2021 à 20:05
tino_2065 Messages postés 24 Date d'inscription samedi 3 avril 2021 Statut Membre Dernière intervention 4 mars 2022 - 30 nov. 2021 à 20:05
A voir également:
- Dans la messagerie ci-dessous, envoyez un nouveau message à manon (manon@pixmail.org) en mettant en copie nina (nina@pixmail.org) :
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 3005 france tv - Forum TV & Vidéo
- Erreur 5000 france tv - Forum iPhone
2 réponses
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
27 nov. 2021 à 08:43
27 nov. 2021 à 08:43
Bonjour
Les instructions "header(...". doivent être placées avant tout affichage et/ou tout code html..
Il faut donc déplacer ton code php au dessus de ton code html.
Les instructions "header(...". doivent être placées avant tout affichage et/ou tout code html..
Il faut donc déplacer ton code php au dessus de ton code html.
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
Modifié le 28 nov. 2021 à 09:02
Modifié le 28 nov. 2021 à 09:02
Alors..
Déjà, voici quelques petites corrections/améliorations de ton code
Ensuite... on ne sait rien de ton fichier config1.php .. j'espère qu'il contient bien un session_start() (sinon faudra penser à le mettre si tu veux pouvoir utiliser la variable $_SESSION)
Et puis, il ne doit pas contenir de code html, de echo ou de print ou de var_dump ... sinon ça empèche les instructions header de fonctionner.
Et enfin, encore une fois ... VERIFIE L'ENCODAGE DE TES FICHIERS ...
Notepad n'est pas le plus adapté à la programmation...
utilise notepad++ ou un ide plus évolué ( visual studio code, netbeans php, php storm ... )
Et pour rappel... pour vérifier l'encodage, voir chapitre 1 de ce lien :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
Edit: correction des lignes 25 et 28.
Déjà, voici quelques petites corrections/améliorations de ton code
<?php //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require_once 'config1.php'; //traitement du formulaire if (isset($_POST['username'])){ $username = stripslashes(trim($_POST['username'])); $password = stripslashes(trim($_POST['password'])); $password = mysqli_real_escape_string($conn, $password); $username = mysqli_real_escape_string($conn, $username); $query = "SELECT * FROM `users` WHERE username='$username' and password='".hash('sha256', $password)."'"; $result = mysqli_query($conn,$query) or die(mysql_error()); if (mysqli_num_rows($result) == 1) { $_SESSION['username'] = $username; $user = mysqli_fetch_assoc($result); // vérifier si l'utilisateur est un administrateur ou un utilisateur if ($user['type'] == 'admin') { header('location:home.php'); exit;//toujours mettre un exit après une redirection }else{ header('location: index.php'); exit; //toujours mettre un exit après une redirection } }else{ $message = "Le nom d'utilisateur ou le mot de passe est incorrect."; } } ?> <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="style.css" /> <meta charset="utf8"> </head> <body> <form class="box" action="" method="post" name="login"> <h1 class="box-logo box-title"> <a href="https://waytolearnx.com/">WayToLearnX.com</a> </h1> <h1 class="box-title">Connexion</h1> <input type="text" class="box-input" name="username" placeholder="Nom d'utilisateur"> <input type="password" class="box-input" name="password" placeholder="Mot de passe"> <input type="submit" value="Connexion " name="submit" class="box-button"> <p class="box-register">Vous êtes nouveau ici? <a href="register.php">S'inscrire</a> </p> <?php if (! empty($message)) { ?> <p class="errorMessage"><?php echo $message; ?></p> <?php } ?> </form> </body> </html>
Ensuite... on ne sait rien de ton fichier config1.php .. j'espère qu'il contient bien un session_start() (sinon faudra penser à le mettre si tu veux pouvoir utiliser la variable $_SESSION)
Et puis, il ne doit pas contenir de code html, de echo ou de print ou de var_dump ... sinon ça empèche les instructions header de fonctionner.
Et enfin, encore une fois ... VERIFIE L'ENCODAGE DE TES FICHIERS ...
Notepad n'est pas le plus adapté à la programmation...
utilise notepad++ ou un ide plus évolué ( visual studio code, netbeans php, php storm ... )
Et pour rappel... pour vérifier l'encodage, voir chapitre 1 de ce lien :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
Edit: correction des lignes 25 et 28.
tino_2065
Messages postés
24
Date d'inscription
samedi 3 avril 2021
Statut
Membre
Dernière intervention
4 mars 2022
28 nov. 2021 à 07:21
28 nov. 2021 à 07:21
Oui j'utilise notepad++ et l'encodage est en utf-8 sans BOM
tino_2065
Messages postés
24
Date d'inscription
samedi 3 avril 2021
Statut
Membre
Dernière intervention
4 mars 2022
28 nov. 2021 à 07:22
28 nov. 2021 à 07:22
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
>
tino_2065
Messages postés
24
Date d'inscription
samedi 3 avril 2021
Statut
Membre
Dernière intervention
4 mars 2022
28 nov. 2021 à 07:41
28 nov. 2021 à 07:41
Lignes 25 et 28 faut remplacer les deux points par dess points virgule..
tino_2065
Messages postés
24
Date d'inscription
samedi 3 avril 2021
Statut
Membre
Dernière intervention
4 mars 2022
28 nov. 2021 à 07:28
28 nov. 2021 à 07:28
tino_2065
Messages postés
24
Date d'inscription
samedi 3 avril 2021
Statut
Membre
Dernière intervention
4 mars 2022
30 nov. 2021 à 20:05
30 nov. 2021 à 20:05
Merci frère
Modifié le 27 nov. 2021 à 09:17
27 nov. 2021 à 10:23
A priori le problème vient de la première ligne du fichier login.php ("sortie démarrée à .../login.php:1").
Assure toi de ne pas avoir d'espace ou de ligne vide avant l'ouverture de la balise php "<?php" qui doit être au tout début de ton fichier login.php
Si le problème persiste, comme indiqué par jordane45 sur ta précédente question, vérifie que tes fichiers .php sont bien encodé en UTF8 sans BOM.
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
27 nov. 2021 à 10:56
27 nov. 2021 à 11:19
Pour tester, fais un code php avec uniquement ceci:
Modifié le 27 nov. 2021 à 11:22
Quel éditeur de texte tu utilises pour éditer les fichiers .php ?
Tu peux éventuellement partager ton fichier sur le forum avec cjoint pour que nous vérifions si celui-ci est bien encodé :
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers