Warning: Cannot modify header information - headers already sent in C:\xampp\htd
Résolu
btissam
-
btissam1998 -
btissam1998 -
Bonjour, aidez moi
<?php
ob_start();
session_start();
require_once('connexion.php');
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);
if(isset($_POST['login'])){
$username=$_POST['username'];
$motpasse=$_POST['motpasse'];
if($username&&$motpasse){
$query="SELECT*from user where username='$username' AND motpasse='$motpasse'";
$query_run=mysqli_query($conn,$query);
$rep = mysqli_fetch_assoc($query_run);
if($rep!=''){
$_SESSION['id_user'] = $rep['id_user'];}
$row=mysqli_num_rows($query_run);
if($row==1){
flush();
header('Location: index(1).php');
exit();
//echo"<script type='text/javascript'>location.href='index(1).php';</script>";
//die('should have redirected by now');
}else{
echo "username ou password incorrect";
}
}else{
echo "veuillez saisir tous les champs";
}
}
?>
<?php
ob_start();
session_start();
require_once('connexion.php');
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);
if(isset($_POST['login'])){
$username=$_POST['username'];
$motpasse=$_POST['motpasse'];
if($username&&$motpasse){
$query="SELECT*from user where username='$username' AND motpasse='$motpasse'";
$query_run=mysqli_query($conn,$query);
$rep = mysqli_fetch_assoc($query_run);
if($rep!=''){
$_SESSION['id_user'] = $rep['id_user'];}
$row=mysqli_num_rows($query_run);
if($row==1){
flush();
header('Location: index(1).php');
exit();
//echo"<script type='text/javascript'>location.href='index(1).php';</script>";
//die('should have redirected by now');
}else{
echo "username ou password incorrect";
}
}else{
echo "veuillez saisir tous les champs";
}
}
?>
Configuration: Windows / Chrome 89.0.4389.82
4 réponses
-
Bonjour,
Pour commencer, lorsque tu postes du code sur le forum tu dois utiliser les BALISES DE CODE.
Explications (à lire entièrement !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, merci d'appliquer les r conseils donnés ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Enfin, l'extension mysql_* est obsolète...
Désormais tu dois passer à PDO ( ma préférence... ) ou mysqli https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
-
j'ai trouvé le problème dans securityuser.php lorsque je l'enlève le header fonctionne mais j'ai besoin de la securité
<?php
session_start();
require_once('connexion.php');
if (!$_SESSION['username']) {
header('Location: login(1).php');
}
?>-
-
Je t'ai expliqué que tu devais utiliser les balises de code pour poster ton code sur le forum....
Concernant ton souci, toutes les instructions PHP header. Doivent se situer avant tout affichage HTML ou écho de PHP .....
quoi qu'il en soit, comme tu ne nous montre pas ton code complet, il nous est impossible de t'en dire davantage.
-
-
<?php
ob_start();
session_start();
require_once('connexion.php');
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);
if (!$_SESSION['username']) {
flush();
header('Location:login(1).php');
exit();
//echo'<script >document.location.replace("login(1).php");</script>';
} -
Notice: Undefined index: username in C:\xampp\htdocs\gauto-preview\gauto-preview\securityuser.php on line 7
Warning: Cannot modify header information - headers already sent in C:\xampp\htdocs\gauto-preview\gauto-preview\securityuser.php on line 9-
-
l'ob_start et le flush n'ont aucune utilité dans ton code... retire les.
Ensuite... tu as des erreurs car ta variable de session n'existe pas.
Pour éviter cela.. il faut récupérer PROPREMENT les variables AVANT de les utiliser :
Par exemple<?php session_start(); error_reporting(E_ALL | E_WARNING | E_NOTICE); ini_set('display_errors', TRUE); require_once('connexion.php'); $username = !empty($_SESSION['username']) ? $_SESSION['username'] : NULL; if (!$username) { header('Location:login(1).php'); exit(); //echo'<script >document.location.replace("login(1).php");</script>'; }
PS: Merci de relire le lien concernant l'utilisation des balises de code que etu n'as pas du lire entièrement !!
Il faut, DANS les balises .. indiquer le LANGAGE . ça permet d'avoir la coloration syntaxique ainsi que la numérotation des lignes... (comme dans le code que je t'ai donné )
-