Problema php

NeO_PedritO

Bueno, aqui esta mi primer hilo en MV6 xD

Tengo un problema al usar PHP en mi pagina, por ejemplo para usar include y ahorrarme copypastear las partes comunes. Simplemente no se ejecuta nada de php que incluya :S

Me imagino que sera cosa del host, pero no veo donde "activar" php ni nada por el estilo.

El host es byethost, por si alguien tiene experiencia con el. Gracias! :D

Josepanaero

Supongo que ya lo habrás tenido en cuenta, pero por si acaso...

Imagina que pones lo siguiente

<?php include("mis_funciones.php" ) ?>

Dentro de "mis_funciones.php", si lo que tienes son funciones o cualquier tipo de código en php, tienes que incluirlo entre los tags de php, es decir, si el archivo "mis_funciones.php" incluye lo siguiente:

function foo(){
      $bar = 2;
}

Estaría mal, tendría que ser así:

<?php
function foo(){
      $bar = 2;
}
?>

No se me ocurre nada más sobre tu problema, espero que te sirva.

Un saludo!

canhaya

que no haya código HTML antes de los includes

Addys

#3 ???

puede haber lo que quiera delante del include, que no delante de headers

como dice #2, lo de los tags <?php ?> dentro de los ficheros incluidos lo has mirado?

kolka

#3 Creo que te confundes con los headers...

SiCk

Consejo personal, usar siempre include_once y require_once. xD
Y si vas a incluir algo con funciones "primordiales" para la aplicación deberías usar require_once, puesto que un error de un include es un warning pero un error con require corta la ejecución y así evitas errores consecuentes, o como en tu caso, mostrar la página sin parte del diseño.

canhaya

cierto se me ha ido la pinza a los header!

NeO_PedritO

#2 Ese no es mi problema porque de momento solo incluyo partes con html, pero lo tendre en cuenta para el futuro xD

#6 Ok, no conocia esas funciones, las usare.

Sobre no poner nada antes de los headers creo que lo cumplo, ya que respeto las etiquetas html, head y body en el documento original.

No veo donde puede estar el fallo, por eso sigo pensando que es cosa del host o algo :S

Por si acaso, dejo aqui la pagina index original (sin includes), que es como deberia verse y tambien la que usa includes, a ver si alguien ve el fallo.

Muchas gracias por las respuestas! :D

erdanblo

Te falta por aprender el concepto.

      
<script languaje="php"> echo "hola hola"; include("partes/cabecera.html"); </script>

Si no eres ingeniero te ayudo...

Josepanaero

xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

Hostias, qué fallo más tonto, ésos son los que más joden xD

Revisa bien el código de #9, letra por letra.

EDIT: Nunca se me habría ocurrido que esto pudiese ser un motivo más para usar el w3c validator.

NeO_PedritO

#9 No, no soy ingeniero, estoy en ello aun (y aunque lo fuera no creo que supiera nada de php gracias a ello, la verdad..). Lo que se de diseño web (muy poco) es por mi cuenta, y pasa lo que pasa xD

Lo del echo "hola hola" lo puse por probar y se me olvido quitarlo, pero no veo ningun fallo aun en el include :S

EDIT: Acabo de ver que tenia puesto "languaje" en lugar de "language", era eso?

Josepanaero

#11, en teoría sí, pero además me acabo de dar cuenta de que la página la estás guardando como .html y creo que para que el servidor la procese como tú quieres, tendrías que guardarla como .php, prueba y nos comentas.

EDIT: Me refiero a la página web principal, no a la incluida, creo que puedes incluir páginas de cualquier tipo, aunque ya no estoy seguro de eso. En resumen, que renombres index2.html por index2.php.

NeO_PedritO

#12 Vale, era eso xDD

Creo que lo habia probado ya, pero con "languaje" (que fue copypasteado de alguna web, de ahi el error), y por eso no funcionaria.

En fin, muchas gracias a todos (K) :D

erdanblo

A ver alma de cántaro, lo de escribir el código PHP dentro de etiquetas <script> ¿donde lo has visto?

¡Ojo! Es posible, habilitando unas políticas en el php.ini, igual que también es posible meter código php en .html, modificando el htconf, pero no es para nada normal, y pienso que tampoco es nada aconsejable.

La etiqueta de código php es <?php ó <? y la de cierre ?>

La próxima vez, mira el código fuente de la página que te devuelve el servidor, si te muestra el código PHP es que el servidor no lo esta interpretando (y ese era tu problema).

NeO_PedritO

#14 Googleando encontre esa forma, y como no me funcionaban las otras 2 probe con esa y lo deje asi, esa es la razon xD

Gracias!

Usuarios habituales

  • NeO_PedritO
  • erdanblo
  • Josepanaero
  • canhaya
  • SiCk
  • kolka
  • Addys