Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿El hosting no interpreta correctamente el código?

Estas en el tema de ¿El hosting no interpreta correctamente el código? en el foro de PHP en Foros del Web. ¿Es posible que un servidor no interprete bien el código PHP de mi página? Lo digo porque, con el mismo navegador, en mi servidor de ...
  #1 (permalink)  
Antiguo 03/05/2013, 12:41
Avatar de Jogabba  
Fecha de Ingreso: octubre-2012
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
¿El hosting no interpreta correctamente el código?

¿Es posible que un servidor no interprete bien el código PHP de mi página? Lo digo porque, con el mismo navegador, en mi servidor de pruebas local xampp funciona a la perfección, pero cuando lo subo a 1&1 -el hosting que he contratado- funciona a veces sí a veces no.
¿Puede ser que sea culpa del hosting?
  #2 (permalink)  
Antiguo 03/05/2013, 13:20
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: ¿El hosting no interpreta correctamente el código?

Pues hoy estoy a lo Harry Potter haciendo las veces de mago. Especulando podrian ser muchas cosas:

Usar etiquetas cortas de php
Código PHP:
<?php
?>
//asi siempre la leeran todos los servidores
<?
?>
//asi la leeran los servidores que tienen habilitado las etiquetas cortas
Otra posible causa son los permisos en los archivos y que no te permita escribir, borrar, actualizar archivos etc

Una posibilidad mas es la configuración del php.ini en el servidor.

Si nos dices un poco mas de que va tu script te puedo ayudar mejor y en caso tal pedirle a tu proveedor que te de los correspondientes permisos. Puedo especular mas pero asi con esa información tan general es dificil.
__________________
Blog de humor http://elcuasatar.net63.net/
  #3 (permalink)  
Antiguo 03/05/2013, 14:01
Avatar de Jogabba  
Fecha de Ingreso: octubre-2012
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: ¿El hosting no interpreta correctamente el código?

El código que me da problemas es este:

Cita:
<?php
session_start();
$toplinks = "";
if (isset($_SESSION['id'])) {

$userid = $_SESSION['id'];
$username = $_SESSION['nick'];
$toplinks = '<span id="textohead">Benvingut,'. $username.'.</span>
<a href="logout.php"><button id="boto1" > Desconnectar-se</button></a>';
} else {
$toplinks = '<button id="boto1"><a href="registre.php">Registra\'t</a></button> <button id="boto1"><a href="login.php">Entra</a></button>';
}
?>
<!DOCTYPE html>
<html>
<?php include ("peces/head.php")?>
<body><?php include ("peces/header.php")?>
<section>
<div id="helena"><a href="index.php">Viatges i sortides - </a><a href="index.php">Inici - </a></div>
<article>
etc. etc.
Lo que quiero hacer es que, según estés identificado o no, se te pongan en el banner unos botones u otros (registrarse y conectarse / desconectarse). Y esto me funciona a veces y otras no. Cuando funciona, no siempre lo hace perfectamente, sino que viene acompañado por este mensaje de error:

Cita:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/21/d420231063/htdocs/index.php:1) in /homepages/21/d420231063/htdocs/index.php on line 2
Cuando no funciona, simplemente no aparece ningún botón en ningún caso.

A medida que he ido probando cosas y cosas, me ha dado la impresión de que lo que pasa o no es parte de azar, puesto que a veces me ha dado resultados diferentes con el mismo código. O a lo mejor se me ha pasado algo por alto, no sé.
(Por cierto, los includes no contienen php alguno, excepto en uno de ellos, en los que sólo hay un echo de una variable).

Gracias por la ayuda.
  #4 (permalink)  
Antiguo 03/05/2013, 14:35
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: ¿El hosting no interpreta correctamente el código?

Bueno esto de las cabeceras es un error bastante comun especialmente cuando sin querer incluyes espacios en blanco antes de iniciar el script o incluye cosas como echo o print antes de. En este blog muestran los casos mas comunes por los cuales se genera este error y sus posibles soluciones:

http://www.daniweb.com/web-developme...s-already-sent

Lo que se me hace raro es que si te funcione en local.

Igual fijate que en los include no le estas poniendo ; al final.

Yo revisaria esas dos cosas.

Aunque no deberia influir yo prefiero trabajar asi las comillas.


Código PHP:
 "<span id='textohead'>Benvingut,"$username.".</span>
<a href='logout.php'><button id='boto1' > Desconnectar-se</button></a>"

Ve probando el codigo poco a poco para descartar errores, si lo pruebas todo de chorro es mas dificil ver el error.

Prova-ho i ens comentes. Fins ara!

p.s. Por que no imprimes los toplinks con echo? Acabo de darme cuenta y la idea es que lo imprimieras dentro del documento html.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 03/05/2013 a las 15:03
  #5 (permalink)  
Antiguo 04/05/2013, 15:32
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: ¿El hosting no interpreta correctamente el código?

Prueba al principio de tu script con:
Código PHP:
Ver original
  1. <?php
  2. ob_start(); ?>
y al final después de todo el HTML
Código HTML:
Ver original
  1. <?php
  2. ob_end_flush(); ?>

No es lo ideal pero prueba si te da resultado, esto hace que la salida al cliente se realice sólo cuando se procese todo el código, por lo que no deberías tener problemas con las cabeceras en el servidor.
Saludos
  #6 (permalink)  
Antiguo 05/05/2013, 08:46
Avatar de Jogabba  
Fecha de Ingreso: octubre-2012
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: ¿El hosting no interpreta correctamente el código?

Lo he solucionado, pero no sé muy bien por qué, porque no he hecho nada que no hubiese probado antes.
Me da la sensación de que, a la hora de actualizar un archivo vía FTP, éste tarda un cierto tiempo en actualizarse de verdad; no sé si me explico. Por ejemplo, ahora acabo de poner un enlace apuntando a cierto sitio, y en la práctica sigue apuntando al sitio antiguo. ¿Es esto posible?
  #7 (permalink)  
Antiguo 05/05/2013, 13:59
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 7 meses
Puntos: 50
Respuesta: ¿El hosting no interpreta correctamente el código?

Prueba limpiando el caché..o tu configuración si es que la has realizado.

Saludos
  #8 (permalink)  
Antiguo 05/05/2013, 14:14
Avatar de Jogabba  
Fecha de Ingreso: octubre-2012
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: ¿El hosting no interpreta correctamente el código?

Efectivamente, muchas gracias a todos.

Etiquetas: correctamente, hosting
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




La zona horaria es GMT -6. Ahora son las 18:21.