Foros del Web » Programando para Internet » PHP »

Problema al publicar en hosting

Estas en el tema de Problema al publicar en hosting en el foro de PHP en Foros del Web. Hola en mi server local tengo una Web funcionando sin problemas pero al publicarla me da este error Warning: session_start() [function.session-start]: Cannot send session cache ...
  #1 (permalink)  
Antiguo 24/01/2010, 01:25
 
Fecha de Ingreso: abril-2002
Mensajes: 186
Antigüedad: 22 años
Puntos: 2
Problema al publicar en hosting

Hola en mi server local tengo una Web funcionando sin problemas pero al publicarla me da este error


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/s10d225e/public_html/controlador.php:3) in /home/s10d225e/public_html/pagina2.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home/s10d225e/public_html/controlador.php:3) in /home/s10d225e/public_html/controlador.php on line 151


El controlador.php crea el vector $opcion con los parámetros de la URl para redirigir a la web correspondiente

La línea 151 de controlador.php es la siguiente

Código PHP:

//si no se pasa ningún parámetro a la URl se reenvía a index.php
switch ($opcion[0])
{
    default: 
header("location: index.php");
    exit;

En pagina2.php en la linea 2 es donde inicio la session de php si procede.

Código PHP:

<?php
session_start
();
Que yo sepa en la pagina controlador.php no he impreso ningún texto por tanto no se porque no me permite hacer el header.
Agradecería cualquier comentario ya que el cliente esta esperando la Web desde hace tiempo y cuando ya la tengo me de este problema al publicarla en el servidor.

Gracias de antemano.
Un saludo.






.htaccess
Código:
Options all -Indexes

DirectoryIndex errorpage.php
<ifmodule mod_rewrite.c>
RewriteEngine On

#Si la url solicitada no es un fichero(existente), continuar...
RewriteCond %{REQUEST_FILENAME} !-f

#Si la url solicitada no es una carpeta(existente), continuar...
RewriteCond %{REQUEST_FILENAME} !-d

#se toma todo ese -query_string- y se pasa como parametro route
RewriteRule ^(.*)$ controlador.php?route=$1 [L,QSA]
</ifmodule>



Código PHP:


<?
include_once('funciones.php');
//Generar vector $opcion con los aprametros pasados por la URL
function getVariables($url)
{
    
//quitamos la barra del final
    
$url preg_replace('/\/$/'''$url);
 
    
//separamos las partes de la url y las contamos
    
$partes explode('/'$url);
    
//echo $url."<br>";
    //echo $partes."<br>";
    
$opcion limpiar(explode("/",urldecode($url)));
    
//echo '<pre>';
    //print_r($opcion);
    //echo '</pre>';

    
return $opcion;
}

function 
limpiar($valor)
{
    
//permitimos solo letras(a-Z), numeros y guiones
    
return preg_replace('/[^a-zA-Z0-9-_]/'''$valor);
}
 
$opcion getVariables($_GET['route']);
//imprimirVector($_GET['route'],'$_GET[\'route\']');
//imprimirVector($opcion,'$opcion');
 

 
 
 
 
//Geenrar pagina en caso de que estemos en la tienda
if($opcion[0]=='tienda')
{
    
//mensaje('tienda');
    
$regProductos=mysql_query('select * from productos order by Orden',$conexion) or die ('problemas con selct productos'.mysql_error());

    
$regFamilias=mysql_query('select * from familias',$conexion) or die ('problemas con selct familias'.mysql_error());

    
    
    
//mensaje($opcion[1]);
    //mensaje($IdFamilias);
    
while ($lineaProductos=mysql_fetch_array($regProductos))
    {
        if (
$opcion[1]==$lineaProductos['URL'])
        {

            
//genera la pagina de un producto concreto
            
pagina(generaMenuIzquierdaTienda(),generarHtmlProducto($lineaProductos),"Tienda->Productos->$lineaProductos[Titulo]",'Categorias');
            exit;
        }
    }


    
//genera la pagina con el listado de productos de una familia
    
    
while ($lineaFamilias=mysql_fetch_array($regFamilias)) 
    {
        if(
$opcion[1]==$lineaFamilias['URL'])
        {
            
$sqlProductos="select * from productos where IdFamilia=$lineaFamilias[Id]";
            
pagina(generaMenuIzquierdaTienda(),catalogo($sqlProductos),'Listado de productos','Categorias',null,'',crearContenidoBloqueArribaFamilias("imagenescatalogo/familia-led-p$lineaFamilias[Id].jpg",$lineaFamilias['HTML'],$lineaFamilias['Descripcion']),$lineaFamilias['Titulo']);
            exit;
        }
    }
    
    
//mysql_free_result($regFamilias);
    //mensaje("la variable \$IdFamilias antes de salir de error.php tiene el valor $IdFamilias");
    
}
//FIN Geenrar pagina en caso de que estemos en la tienda







if($opcion[0]=='familias-led')
{
    
//mensaje('tienda');
    
$regProductos=mysql_query('select * from productos order by Orden',$conexion) or die ('problemas con selct productos'.mysql_error());

    
$regFamilias=mysql_query('select * from familias order by Orden',$conexion) or die ('problemas con selct familias'.mysql_error());

    
    
    
//mensaje($opcion[1]);
    //mensaje($IdFamilias);
    
while ($lineaProductos=mysql_fetch_array($regProductos))
    {
        if (
$opcion[1]==$lineaProductos['URL'])
        {

            
//genera la pagina de un producto concreto
            
pagina(generaMenuIzquierdaTienda(),generarHtmlProducto($lineaProductos),"Tienda->Productos->$lineaProductos[Titulo]",'Categorias');
            exit;
        }
    }


    
//genera la pagina con el listado de categorias

    
pagina(generaMenuIzquierdaTienda(),familias(),'Categorias de productos','Categorias');
    
//mysql_free_result($regFamilias);
    //mensaje("la variable \$IdFamilias antes de salir de error.php tiene el valor $IdFamilias");
    
exit;
}
//FIN Geenrar pagina en caso de que estemos en la tienda







//mensaje('comienza a comprobar para el gestor de contenido');

//Generar html del gestor de contenido
$registros=mysql_query('select * from secciones',$conexion) or die(mysql_error());
while(
$linea=mysql_fetch_array($registros))
{
    if(
$opcion[0]==$linea['URL'])
    {
        
pagina(generaMenuizquierdaContenido($linea['NumeroSeccion']),$linea['Contenido'],$linea['TituloLargo'],datoBdWhere('Titulo','familiassecciones',"Id=$linea[NumeroSeccion]"),null,null,null,null,datoBdWhere('Titulo','familiassecciones',"Id=$linea[NumeroSeccion]"));
        
mysql_free_result($registros);
        
//mysql_free_result($regmenu);
        
        
exit;
    }
}










switch (
$opcion[0])
{
    default: 
header("location: index.php");
    exit;
}

?>
  #2 (permalink)  
Antiguo 24/01/2010, 01:34
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Problema al publicar en hosting

¿En controlador.php haces un include de pagina2.php? pon el codigo de controlador.php si es asi, esta claro que algo se ha enviado, se puede haber colado un espacio al inicio del todo o buf..... muchas cosas x_X
  #3 (permalink)  
Antiguo 24/01/2010, 02:18
 
Fecha de Ingreso: abril-2002
Mensajes: 186
Antigüedad: 22 años
Puntos: 2
Respuesta: Problema al publicar en hosting

Hola Vun gracias por responder tan rápido.
He mirado el foro para autoresponderme.
El código de controlador.php es el que está abajo del todo.
Realmente no hacia ningún echo ni nada lo unico que ocurria es que la primera línea de código <?php en lugar de estar en linea 1 estaba en la 3 por tanto mandaba dos retornos de carro.

Asi esta mal
Código PHP:


<?php
Y asi esta bien
Código PHP:
<?php
Gracias un saludo.

Etiquetas: hosting, publicar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:17.