Foros del Web » Programando para Internet » PHP »

PHP solo muestra codigo fuente

Estas en el tema de PHP solo muestra codigo fuente en el foro de PHP en Foros del Web. Buenas a todos Tengo un gestor de noticias que corría perfectamente en IE7, y al instalar IE8 cascó. Tengo un fichero llamado noticias que abre ...
  #1 (permalink)  
Antiguo 24/02/2011, 03:14
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
PHP solo muestra codigo fuente

Buenas a todos
Tengo un gestor de noticias que corría perfectamente en IE7, y al instalar IE8 cascó.
Tengo un fichero llamado noticias que abre perfectamente y desde el cual tengo la posibilidad de gestionar las noticias, nuevas, modificar, eliminar mediante
<input name="button" type="button" onClick="abreVentana('<?=$SIGUIENTE?>?val=nueva',' ',650,430,true);" value="Nuevo">. Al pulsar este en lugar de abrir una nueva página como hacia antes, me muestra el código fuente.
Aquí dejo el código que se muestra.

<?php
include("./includes/config.php");
include("./includes/funciones.php");
include("./includes/checklogin.php");
header("Content-type: image/jpeg");

//PARAMETROS DE CONFIGURACIÓN************
$val=$_GET['val'];
$CARP_FOTOS="./fotos/";
$TABLA="noticias";
$CAMPO_ID="id";
$ANTERIOR="noticia_g.php";
//***************************************

if ($HTTP_POST_VARS){
$imgpathfotos=$CARP_FOTOS;
$mensaje="";
//Si he asignado una foto la subo al servidor para despues asignarla
$error2=false;
if ((isset($_FILES['foto'])) && ($_FILES['foto']['tmp_name']!="")){
//SUBIR FOTO
if (is_uploaded_file($_FILES['foto']['tmp_name'])) {
//$error2=false; la inicializo arriba de if
//echo $_FILES['imagen']['type'];
//revisamos el tipo de la imagen
$nombre = $_FILES['foto']['tmp_name'];
$punto = strrchr($nombre,".");
if ($_FILES['foto']['type'] == "image/jpeg" || $_FILES['foto']['type'] == "image/pjpeg"){
$newFoto = "foto".time().".jpg";
}else if ($_FILES['foto']['type'] == "image/bmp"){
$newFoto = "foto".time().".bmp";
}else if ($_FILES['foto']['type'] == "image/x-png"){
$newFoto = "foto".time().".png";
}else if ($_FILES['foto']['type'] == "image/gif"){
$newFoto = "foto".time().".gif";
}else if ($nombre[$punto+1]=="j" && $nombre[$punto+2] == "p" && $nombre[$punto+3] == "g" ){
$newFoto = "foto".time().".jpg";
}else{
$error2=true;
$mensaje= " · Formato no válido de fotografía: " . $_FILES['foto']['name']." (Debe ser gif, bmp, png o jpg)-----".$_FILES['foto']['type'];
};
if (!$error2){
if(!copy($_FILES['foto']['tmp_name'], $imgpathfotos.$newFoto)){
// no se puedo subir :S
$error2=true;
$mensaje= " · Error al cargar fotografía: " . $_FILES['foto']['name'];
}else{
chmod($imgpathfotos.$newFoto,0777);
}
}
} else {
if($_FILES['foto']['name'] == ""){
//$error2=true;
$error2=true;
}else{
$error2=true;
$mensaje= " · Error al cargar la fotografía porque tiene un tamaño muy grande: " . $_FILES['foto']['name'];
}
}//fin subir foto
}//fin comprobar si tengo que subir foto
if ($error2){
$_POST['foto']="";
}else{
$_POST['foto']=$newFoto;
}
$cnx = conectar();
$querySel = "SELECT id FROM ".$TABLA." WHERE ".$CAMPO_ID."='".$_POST['id']."'";
$query= mysql_query($querySel) or die(mysql_error());
$numfilas= mysql_num_rows($query);
//preparo textos
$_POST['titulo']= str_replace ("'", "´", $_POST['titulo']);
$_POST['texto']= str_replace ("'", "´", $_POST['texto']);
if ($numfilas>0)
{
// en UPDATE nunca vamos a modificar la foto
$queryUpd = "UPDATE ".$TABLA." SET titulo='".$_POST['titulo']."',texto='".$_POST['texto']."' WHERE ".$CAMPO_ID."='".$_POST['id']."'";
$query= mysql_query($queryUpd) or die(mysql_error());
if (!$query){
$Fallo=true;
}
}
else
{
if (!isset($_POST['foto'])){
$_POST['foto']="";
}
//en INSERT siempre llegara la foto, aunque sea como cadena vacia
$queryIns = "INSERT INTO ".$TABLA." (titulo,texto,foto) VALUES ('".$_POST['titulo']."','".$_POST['texto']."','".$_POST['foto']."')";
$query= mysql_query($queryIns) or die(mysql_error());
if (!$query){
$Fallo=true;
}
}
if (!$Fallo){

}else
{
?><script>alert('Se ha producido un error en la Base de Datos\nLos Cambios no se harán efectivos\n');</script><?php
}
if ($error2){
echo "<script>alert('Error en la Fotografía:\n".$mensaje."');</script>";
}
echo "<script>window.opener.location.href='".$ANTERIOR. "';";
echo "window.close();</script>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta name="GENERATOR" content="PHPEclipse 1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>..:: Gesti&oacute;n ::..</title>
<link href="estilos.css" rel="stylesheet" type="text/css">
<SCRIPT LANGUAGE='JavaScript'>

function testAllFields(){
if (document.datos.titulo_es.value=="" ){
alert('Debe escribir el/los apellido/s del Autor.');
document.datos.apellidos.focus();
return false;
}
return true;
}//cierra return testAll fields
function cancela()
{
window.opener.location;
window.close();
}
function Validar(Cadena){
var Fecha= new String(Cadena) // Crea un string
var RealFecha= new Date() // Para sacar la fecha de hoy
// Cadena Año
var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length))
// Cadena Mes
var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")))
// Cadena Día
var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")))

// Valido el año
if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){
alert('Año inválido')
document.datos.fecha.focus();
return false
}
// Valido el Mes
if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
alert('Mes inválido')
document.datos.fecha.focus();
return false
}
// Valido el Dia
if (isNaN(Dia) || parseInt(Dia)<1 || parseInt(Dia)>31){
alert('Día inválido')
return false
}
if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
if (Mes==2 && Dia > 29 || Dia>30) {
alert('Día inválido')
document.datos.fecha.focus();
return false
}
}

//para que envie los datos, quitar las 2 lineas siguientes
//alert("Fecha correcta.")
return true
}

function mirafecha(){
if (document.datos.fecha.value==""){
//alert("No se ha establecido ninguna fecha");
//document.datos.fecha.focus();
return true;
}else if (!Validar(document.datos.fecha.value)){
document.datos.fecha.focus();
return false;
}else{
return true;
}
}
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
<br><center><? inicioCuadro("./includes/marco/"); ?><tr>
<td class="Estilo2" align="center" width="540"><div align="center">Edición de noticia </div></td>
</tr><? finCuadro("./includes/marco/"); ?></center>

<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data" name="datos" id="datos">
<table border=0 align=center cellpadding=1 cellspacing=1>
<TR><TD ALIGN=CENTER VALIGN=MIDDLE>
<?php
$cnx = conectar();
inicioCuadro("./includes/marco/");
if ($val=="nueva")
{
$id=-1;
}
else
{
$id = $val;
$queryTit = "SELECT titulo,texto,foto FROM ".$TABLA." WHERE ".$CAMPO_ID."=".$id;
$query= mysql_query($queryTit) or die(mysql_error());
$numfilas= mysql_num_rows($query);
$alguna=0;
if ($numfilas>0){
list($titulo,$texto,$foto) = mysql_fetch_array($query);
}
}
?>
<input type="hidden" name="pasodatos">
<input type="hidden" name="enviado" value="enviado">
<input type="hidden" name="id" value="<?=$id?>">
<tr>
<td width="540">
<table width="537" >
<tr>
<td width="96" class="Estilo3"><strong>Titulo </strong></td>
<td width="429" class="Estilo3">
<input name="titulo" type="text" class="Estilo3" id="titulo" value='<?=$titulo?>' size="50" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" class="Estilo3"><strong>Texto <br>
<strong>
<textarea name="texto" cols="90" rows="8" class="Estilo3" id="texto"><?=$texto?></textarea>
</strong></strong></td>
</tr>
<?
if ($val=="nueva"){
?>
<tr>
<td class="Estilo3" colspan="2">
<input type="hidden" name="MAX_FILE_SIZE" value="3145728">
<input type="hidden" name="eliminar" value="<?=$foto; ?>">
<input name="foto" type="file" id="foto3" size="37" class="Estilo3"> </td>
</tr>
<?
}else{
?>
<tr>
<td class="Estilo3" colspan="2"><iframe width="520" height="130" src="inc_foto_old.php?id=<?=$id?>&carp_fotos=<?=$C ARP_FOTOS?>&tabla=<?=$TABLA?>&campo_id=<?=$CAMPO_I D?>"></iframe> </td>
</tr>
<? } ?>
</table>
</td>
</tr>
<?php
finCuadro("./includes/marco/");
?>
<tr><td align=right>
<input type="submit" class="Estilo3" value="Guardar">
<input type="button" class="Estilo3" onClick="cancela()" value="Cancelar">
</td></tr>
</TABLE>
<br>
</form>
</body>
<?
//cerramos la conexion con mysql.
mysql_close($cnx);
?>
</html>
  #2 (permalink)  
Antiguo 24/02/2011, 07:13
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: PHP solo muestra codigo fuente

Es muy aburrido leer un post tan largo
plantea tu problema lo mas simple posile e indicando las lineas donde te aparecen los errores.
  #3 (permalink)  
Antiguo 24/02/2011, 07:28
 
Fecha de Ingreso: octubre-2009
Mensajes: 240
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: PHP solo muestra codigo fuente

No leí todo tu post, pero veo que tienes etiquetas php de esta forma <?, cambialas a la forma correcta <?php

a ver que pasa.
  #4 (permalink)  
Antiguo 24/02/2011, 07:32
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: PHP solo muestra codigo fuente

y esto tambien: $HTTP_POST_VARS
hace rato que es obsoleto
  #5 (permalink)  
Antiguo 24/02/2011, 09:39
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: PHP solo muestra codigo fuente

Disculpad el tocho de código, y gracias por las respuestas¡¡¡
No me aperece ningún, simplemente se habre una ventana nueva con todo ese código que os he puesto. y eso en lugar de la página que debe mostrar y que el IE7 si muestra.
  #6 (permalink)  
Antiguo 24/02/2011, 11:14
 
Fecha de Ingreso: octubre-2010
Ubicación: Aachen
Mensajes: 160
Antigüedad: 14 años, 1 mes
Puntos: 22
Respuesta: PHP solo muestra codigo fuente

<?=$SIGUIENTE?>?

<?php

?>

este tipo de fallos hace que aparezca el código en lugar de lo deseado, hay que ser muy metódico con el orden y la escritura.
  #7 (permalink)  
Antiguo 24/02/2011, 11:15
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: PHP solo muestra codigo fuente

Probé lo que me dijisteis y sigue mostrandome solo el código, se que es antiguo puesto que esta programado con compatibilidad para IE6, el problema es que no se como adaptarlo para que corra en IE8.
  #8 (permalink)  
Antiguo 25/02/2011, 02:13
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Respuesta: PHP solo muestra codigo fuente

Nadie puede ayudarme???
  #9 (permalink)  
Antiguo 25/02/2011, 04:12
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 9 meses
Puntos: 16
Respuesta: PHP solo muestra codigo fuente

Es casi imposible que el que se muestre el PHP o no dependa de la versión del navegador a no ser que en el propio PHP hagas diferenciación del "agent" y se ejecute un PHP para un navegador o para otro y esté ahí el fallo (tampoco me he leido ese tocho de código).
El código PHP se ejecuta en el servidor, y éste, una vez ejecutado devuelve un texto, correcto o incorrecto que interpreta el navegador (mirando los fuentes podrías cerciorarte que el servidor te devuelve el mismo código para un navegador y otro).

Dicho todo ésto, me inclino más a que el fallo que estás teniendo es algo relacionado con el servidor PHP, o que estás abriendo directamente el fichero php con el navegador.

Insisto, para comprobar si es cosa del navegador o del servidor, mira el código fuente de la página desde el propio navegador, a ver qué se te muestra.


Por cierto, pese a que a mi también me gusta utilizar "<?php", hasta ahora PHP permite utilizar el "short tag" activando "short_opentag" en la configuración.
  #10 (permalink)  
Antiguo 28/02/2011, 02:30
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: PHP solo muestra codigo fuente

Agradezco tu respuesta WeSoRz, ya entiendo que me pasé un poco poniendo todo el código y que nadie lo lea, intentaré reducirlo para ver si os animáis.
No ejecuto directamente en el explorador sino que está alojado en un hosting de acens, por lo que ese no es el problema. El problema es IE8 ya que si lo desisntalo funciona en cualquier navegador de los que tengo instalados, pero si instalo el IE8 todo se va al carajo.

Un saludo.
  #11 (permalink)  
Antiguo 28/02/2011, 03:20
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años, 7 meses
Puntos: 13
Busqueda Respuesta: PHP solo muestra codigo fuente

1. Exactamente que codigo muestra??
2. Todas las etiquetas <? estan con <?php ??
3. Como llamas tu archivo en el navegador??
__________________
Juguetes Sexuales
  #12 (permalink)  
Antiguo 28/02/2011, 04:07
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: PHP solo muestra codigo fuente

Buenas
Muestra todo el código del fichero en una página nueva con si del notepad se tratara, ni errores ni nada parecido.
Modifiqué todas las etiquetas.
accedo a traves de
<input name="button" type="button" onClick="abreVentana('<?=$SIGUIENTE?>?val=nueva',' ',650,430,true);" value="Nuevo">
donde SIGUIENTE = nombreficherox.php
  #13 (permalink)  
Antiguo 28/02/2011, 04:09
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años, 7 meses
Puntos: 13
Busqueda Respuesta: PHP solo muestra codigo fuente

Pero como llamas la web: http://archivo.php??, http://www.proyecto.com/prueba.php???, http://localhost/archivo.php?? o le das doble click al archivo.
__________________
Juguetes Sexuales
  #14 (permalink)  
Antiguo 28/02/2011, 04:13
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: PHP solo muestra codigo fuente

http://www.nombre.es/nombre.php
  #15 (permalink)  
Antiguo 02/03/2011, 02:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: PHP solo muestra codigo fuente

Necesito ayuda
  #16 (permalink)  
Antiguo 02/03/2011, 03:04
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 9 meses
Puntos: 16
Respuesta: PHP solo muestra codigo fuente

Cuando dices muestra "todo el código", especifica un poco más: muestra TODO el código tal cual está en el código fuente del fichero, o por el contrario muestra el HTML con alguna etiqueta PHP?

Insisto, sería conveniente comparar el código fuente si lo abres con IE8 y por otro lado si lo abres con otro navegador.
  #17 (permalink)  
Antiguo 02/03/2011, 03:13
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: PHP solo muestra codigo fuente

he probado tu codigo, está bien, no se muestra en mi servidor.

Como te mencionaban antes, el codigo php se ejecuta en el servidor, y te devuelve solo html.

a menos que tengas errores en las llaves como
Código PHP:
Ver original
  1. <?
  2. //mi codigo php ? >
  3. o
  4. <?php
  5. //mi codigo php
  6. >?

Entiendes, solo así el servidor no lo interpretaria como codigo php y si como codigo html.

La forma en que lo llamas no tiene nada que ver, ya que del lado de donde entres a la direccion siempre te va a mostrar html.

Avisa a tu proveedor, apuesto a que algun modulo php está fallando.
  #18 (permalink)  
Antiguo 03/03/2011, 09:08
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: PHP solo muestra codigo fuente

Ante todo gracias por vuestro interés.
Y ahora por partes, muestra lo que está entre las etiquetas <html> y </html>. El código php no lo muestra.
Por otro lado, entiendo que la manera de abrir y cerrar afecta a si se muestra o no, pero porque si se muestra perfectamente en IE7 y no en IE8.
Disculpad mi ignorancia.

Última edición por gamuba; 03/03/2011 a las 09:20

Etiquetas: muestra, fuentes
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 13:02.