Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2010, 16:07
tremendu
 
Fecha de Ingreso: agosto-2005
Mensajes: 24
Antigüedad: 19 años, 5 meses
Puntos: 0
Pagina con validacion de usuarios en un DIV

Buenas noches de nuevo os vuelvo a pedir ayuda ya que llevo dos dias intentando solucionar este problema y ya no se como hacerlo.
Os agradezco de antemano vuestro tiempo

Estoy realizando una web donde hay 5 apartados abiertos al publico y un apartado solo para usuarios registrados.
La web la estoy haciendo en PHP, he creado varios div.
Div de Botones(link)
Div de Contenido (donde en funcion del link selecionado muestro la pagina por include)
Div Login Usuario.

por separado la pagina de usuario Login, me funciona.
los apartados de contacto, noticias, quienes somos, etc, tambien funcionan bien.

El problema lo tengo en el div de Login ya que me aparece el siguiente mensaje de error.

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/home/midominio/main.php:12) in /usr/home/midominio/acceso.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/midominio/main.php:12) in /usr/home/midominio/acceso.php on line 45

Como comento si las paginas las utilizo por separado me funcionan perfectamente, pero no se porque al incluir en main, me aparece este error.

Codigo Main.php

Código PHP:
<?php
$link
=$_GET['link'];
?> 
<html>

<head>

<title>Sol's España</title>

<LINK href="../kapi.css" type=text/css rel=stylesheet>


<style type="text/css">
<!--
#DivUsr {
    position:absolute;
    left:853px;
    top:29px;
    width:150px;
    height:345px;
    z-index:4;
}
-->
</style>
</head>

<body>

<div id="contingut" style="position:absolute; width:650px; height:420px; z-index:1; left: 155px; top: 144px; visibility: visible; border: 1px none #000000;">

<?php

  
if (!isset($link)) $link=2;

  if (
$link==1) include ("../quienessomos.html");

  if (
$link==2) include ("noticias.php");

  if (
$link==3) include ("localizacion.html");

  if (
$link==4) include ("contacto.php");

  if (
$link==5) include ("catalogo.php");

  if (
$link==6) include ("tienda.php");


?>
</div>
<div id="navegacio" style="position:absolute; width:550px; height:80px; z-index:1; left: 156px; top: 59px; visibility: visible; border: 1px none #000000;">
</div>
<div id="DivUsr">
<?php
  
include("acceso.php");
?>
</div>
<table width="1006" border="1">
  <tr>
    <td width="287"><a href="../sols/main.php?link=1">Quienes Somos </a></td>
    <td width="150"><a href="../sols/main.php?link=2">Noticias</a></td>
    <td width="220"><a href="../sols/main.php?link=3">Localizacion</a></td>
    <td width="167"><a href="../sols/main.php?link=4">Contacto</a></td>
    <td width="148"><p><a href="../sols/main.php?link=5">Catalogo</a></p>    </td>
  </tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
</body>

</html>
Codigo acceso.php

Código PHP:
<?php 
    session_start
(); 
    include(
'acceso_db.php'); 
    if(empty(
$_SESSION['usuario_nombre'])) { // comprobamos que las variables de sesión estén vacías  
        
if(isset($_POST['enviar'])) { // comprobamos que se hayan enviado los datos del formulario 
            // comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos 
            
if(empty($_POST['usuario_nombre']) || empty($_POST['usuario_clave'])) { 
                echo 
"El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>"
            }else { 
                
// "limpiamos" los campos del formulario de posibles códigos maliciosos 
                
$usuario_nombre mysql_real_escape_string($_POST['usuario_nombre']); 
                
$usuario_clave mysql_real_escape_string($_POST['usuario_clave']); 
                
//$usuario_clave = md5($usuario_clave); 
                // comprobamos que los datos ingresados en el formulario coincidan con los de la BD 
                
$sql mysql_query("SELECT ID, usuario, pass, Grupo, Codcli FROM Usuarios WHERE usuario ='".$usuario_nombre."' AND pass='".$usuario_clave."'"); 
                if(
$row mysql_fetch_array($sql)) { 
                    
$_SESSION['usuario_id'] = $row['ID']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id 
                    
$_SESSION['usuario_nombre'] = $row["usuario"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre 
?> 
                    <script type="text/javascript"> 
                        var pagina = "paginarestringida.php" <!-- Redirigimos al index o la página que se desee --> 
                        function redireccionar() { 
                            location.href = pagina 
                        } 
                        setTimeout ("redireccionar()", 1000); 
                    </script> 
<?php 
                
}else { 
                    echo 
"Los datos ingresados no están registrados en nuestra BD. <a href='javascript:history.back();'>Reintentar</a>"
                } 
            } 
        }else { 
?> 
        <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> 
            <label>Usuario:</label><br /> 
            <input type="text" name="usuario_nombre" /><br /> 
            <label>Contraseña:</label><br /> 
            <input type="password" name="usuario_clave" /><br /> 
            <input type="submit" name="enviar" value="Ok" /> 
        </form> 
<?php 
        

    }else { 
        
// si las variables de sesión no están vacías redirigimos al index (o a la página que se desee) 
        
header("Location: index.php"); 
    } 
?>
¿alguien me podria echar una mano ?
gracias