PHP - PHP Warning: Cannot modify header information - headers already sent by

 
Vista:

PHP Warning: Cannot modify header information - headers already sent by

Publicado por user1 (30 intervenciones) el 15/12/2020 01:21:04
este funcionaba en localhost, pero ahora que esta en un hosting no funciona. por que es?

aqui esta el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
   include('dbcon.php');
   $username = $_POST['username'];
   $password = $_POST['password'];
 
  $query = $conn->query("select * from user where username = '$username' and password = '$password'");
  $count = $query->rowcount();
  $row = $query->fetch();
    if ($count > 0){
    session_start();
    $_SESSION['id'] = $row['id_user'];
     header('location: ../home.php');
    }else{
     echo '
		<script>
		alert("El usuario o contraseña son incorrectos. Intentelo de nuevo");
		window.location = "../login.php";
		</script>
		';
		session_destroy();
		die();
   }
?>

y este es el error que arroja:

[14-Dec-2020 20:55:31 America/Santiago] PHP Warning: Cannot modify header information - headers already sent by (output started at /home1/itjomeco/public_html/login(php)/dbcon.php:1) in /home1/itjomeco/public_html/login(php)/loginPass.php on line 12
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Yoel
Val: 617
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

porque no funciona mi session_start?

Publicado por Yoel (198 intervenciones) el 15/12/2020 02:32:29
Hola buenas noche, según puedo ver en tu código estas colocando el session_start(); en el medio del script cuando se debe de colocar al inicio. A continuación te dejo un ejemplo de donde lo tienes que colocar.

Gracias

1
2
3
4
5
6
7
8
<?php
session_start();
include('dbcon.php');
$username = $_POST['username'];
$password = $_POST['password'];
 
...
?>

Nota: por favor puedes decir cual es la linea 12.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

porque no funciona mi session_start?

Publicado por Mauro (1036 intervenciones) el 15/12/2020 13:36:44
No necesariamente debe ir al inicio, lo importante es que se coloque antes de enviar contenido al usuario.

Es posible que en tu local funciona porque tienes activado el output_buffering y en tu hosting no.

Por el error que se ve me arriesgo a decir que dentro de tu archivo dbcon.php hay algún tipo de output...

¿Puede ser que la primera línea del archivo no sea <?php si no alguna línea en blanco?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

porque no funciona mi session_start?

Publicado por user1 (30 intervenciones) el 15/12/2020 15:22:12
este es

1
<?php $conn = new PDO('mysql:host=ip;dbname=db_name', 'admin', 'x'); ?>

PD: reemplace los valores reales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

porque no funciona mi session_start?

Publicado por Mauro (1036 intervenciones) el 15/12/2020 20:18:55
Verifica que no tenga nada antes de la apertura de php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar