Problema con sessions & header

YavestruZ

Hola!, estoy teniendo unos problemas bastante extraños con los headers y las sessions, tengo un sencillo script de login/auth de usuarios, el trozo de script que importa es este:

login:
<?php

include('config.php');


if(!isset($_SESSION[usuario]) )
//comprobamos que no existe la session, es decir, que no se ha logeado, y mostramos el form
{

auth:
<?php
include('config.php');

if( ($POST[nick] == ' ') or ($POST[pass] == ' ') )
{
Header("Location: login.php");
}else{

Ahora, bien, si dejo esto así el script funciona perfectamente pero no tiene ningun estilo (clases css), por lo que intentando añadir esto:

<link href="styles.css" rel="stylesheet" type="text/css">

En cualquier sitio, ya sea encima del primer <?php o despues del include cerrando el php tag, me devuelve este error:

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\web\auth.php:6) in C:\AppServ\www\web\auth.php on line 25

La linea 6 es un nuevo <?php tras incluir el link al css.
La linea 25 es esta:

Header("Location: login.php");

Alguien sabe porque ocurre esto? he probado cambiando las " por ', poniendolo en un lado, en otro... pero nada : .

Saludos

Kaos

no puedes meter ningun tipo de etiqueta HTML antes de usar las instrucciones de session.

YavestruZ

Y si tngo al final del todo del programa un $_SESSION? Tengo estos dos archivos:

http://phpfi.com/258276

http://phpfi.com/258277

Donde lo podría poner? : /

Kaos

puedes poner $_SESSION donde quieras, hacerle ecos o cualquier tipo de manipulación de la variable.

Lo q no puedes hacer es session_start() despues de cualquier etiqueta html.

Te recomiendo q pongas un session_start al principio del todo todo todo. La primera linea de codigo, esa.

Usuarios habituales

  • Kaos
  • YavestruZ