Foros del Web » Programando para Internet » PHP »

Problema con la nueva version de PHP

Estas en el tema de Problema con la nueva version de PHP en el foro de PHP en Foros del Web. Este codigo pertenece a otra persona lo cogi de internet. Os dejo el enlace . El problema es que en la version antigua de php ...
  #1 (permalink)  
Antiguo 24/08/2009, 16:48
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
Problema con la nueva version de PHP

Este codigo pertenece a otra persona lo cogi de internet. Os dejo el enlace. El problema es que en la version antigua de php funciona correctamente, pero en la ultima version, no funciona, se ve asi


Os dejo el codigo:

Código PHP:
<?php
$imagen_formato
='png'// Case sensitive
$imagenes[0]='1';
$imagenes[1]='2';
$imagenes[2]='3';
$imagenes[3]='4';
$imagenes[4]='5';
$imagenes[5]='6';
$imagenes[6]='7';
$imagenes[7]='8';
$imagenes[8]='9';
$imagenes[9]='10';
$imagenes[10]='11';
$imagenes[11]='12';
$imagenes[12]='13';
$imagenes[13]='14';
$imagenes[14]='15';
$imagenes[15]='16';
$imagenes[16]='17';
$imagenes[17]='18';
$imagenes2=$imagenes;
$imagenesarray_merge($imagenes$imagenes2);
shuffle($imagenes);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Memotest, CSS.</title>
<link rel="stylesheet" type="text/css" media="all" href="memotest.css">
<link rel="stylesheet" href="js/themes/light/light.modal.css" type="text/css" media="screen" title="light" />
<script src="js/jquery-1.2.3.pack.js" type="text/javascript"></script>
<script src="js/jquery.timer.js" type="text/javascript"></script>
<script src="js/ui.core.js" type="text/javascript"></script>
<script src="js/jqModal.js" type="text/javascript"></script>
<script type="text/javascript">
    $(window).ready(function(){
        function memotest(i, imagen){ 
            if( $(".s-"+imagen).hasClass('seleccionada')){
                // Si ya hay una imagen del par ya seleccionada (o sea, elige la 2da correctamente)
                $(".c-"+imagen).removeClass("abierto"); // Quitamos el cover del Bg, para mostrar la ficha
                $(".s-"+imagen).addClass("encontrada"); // se marca el div de la ficha como encontrada
                $(".c-"+imagen).addClass("trabado"); 
                var w = $(".encontrada");
                // Congratulation message / Mensaje de felicitacion.
                if(w.length == 36){
                    $.timer(600, function (timer) {                    
                        $("#win").jqm().jqmShow();    
                        timer.stop();
                    });
                }
            }else if( $(".ficha-cover").hasClass("abierto") ){
                // Si no hay coincidencia, y hay alguna abierta:
                $("#s-"+i).addClass("seleccionada"); // for the record... / lo grabamos.
                $("#c-"+i).addClass("abierto"); // display:none;
                // if no coincidence, hide items after 400ms / Si no acierta, espera 400ms para ocultar la ficha
                $.timer(400, function (timer) {                
                        
                    $(".ficha").removeClass("seleccionada"); // not selected anymore / ya no esta seleccionada.
                    $(".ficha-cover").removeClass("abierto"); // chau display:none;
                    timer.stop();
                });
            }else{
                // Si elige la primer ficha (de dos)
                $("#s-"+i).addClass("seleccionada"); // for the record... / lo grabamos.
                $("#c-"+i).addClass("abierto"); // display:none;
            }
         }
        // Assign onClick to items / Asigna onClick a las fichas ('.ficha-cover').
        <? foreach($imagenes as $i => $imagen){    ?>
        $("#c-<?=$i?>").click( function(){ memotest('<?=$i?>', '<?=$imagen?>');});
        <? }?>
    });
</script>
<style type="text/css">
<? 
$class_img
=array();
foreach(
$imagenes as $i => $imagen){ 
    if(!
in_array($imagen$class_img)){
    
$class_img[]=$imagen;
?>
.s-<?=$imagen?> {
    background-image:url(img/64/<?=$imagen?>.<?=$imagen_formato?>);
}
<? 
    
}
}
?>
</style>
</head>
<body>
<div align="center">
<div class="memotest" style="width:600px;">
    <div style="margin-top:5px; height:262px;">
        <? foreach($imagenes as $i => $imagen){ ?>
        <div class="ficha s-<?=$imagen?>" id="s-<?=$i?>"><div class="ficha-cover c-<?=$imagen?>" id="c-<?=$i?>">&nbsp;</div>
        </div>
        <? }?>
    </div>
</div>
</div>
<div class="jqmWindow jqmClose" id="win">
<img src="img/128/22.png" border="0" style="float:left; margin:5px;" />
<b>Memotest superado! / Memotest passed!</b>
<ul>
<li><a href="index.php" target="_self" title="Jugar otra vez / Play Again">Jugar otra vez! / Play Again!</a></li>
</ul>
</div>
</body>
</html>
Creo que el fallo esta en la siguiente linea

Código PHP:
<? foreach($imagenes as $i => $imagen){    ?>
No se como solucionarlo, le he escrito al autor de este codigo y no me ha respondido. Como lo podria solucionar?

Gracias
  #2 (permalink)  
Antiguo 24/08/2009, 17:17
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Problema con la nueva version de PHP

Bueno lo que pasa que depediendo a la versión php este interpreta el inicio de código PHP el <? o tb el <?php o ambos; en tu caso creo que tu nueva versión no reconoce <? sinó está buscando <?php y como no hay tons te muestra lo que dices.

Revisa el php.ini y ve de que las variables que hacen esto acepten ambas configuraciones; seguramente el anterior php que tenias aceptaba.

; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
short_open_tag = On

; Allow ASP-style <% %> tags.
asp_tags = Off


Modificas lo que requieras y reinicias tus servicios apache; la otra solución es que modifiques el código en todo lado; queda así:

<?php foreach($imagenes as $i => $imagen){ ?>


Salu2
  #3 (permalink)  
Antiguo 24/08/2009, 17:56
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Problema con la nueva version de PHP

Cita:
Iniciado por cosmo_ Ver Mensaje
[...] la otra solución es que modifiques el código en todo lado [...]
Más recomendable. Las "etiquetas cortas" van a quedar descontinuadas, además de que, como ahora, no siempre van a estar disponibles. Lo correcto es utilizar la forma completa <?php

Por favor busca en el foro y revisa la documentación oficial ... es un tema ya muy tratado.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 24/08/2009, 17:57
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema con la nueva version de PHP

una cosa mas donde pone por ejemplo este codigo, que pongo?
Código PHP:
<?=$i?>
si pongo, lo siguiente me da error

Código PHP:
<?php =$i?>

Si pongo lo siigueinte el codigo tampoco funciona :S

Código PHP:
<?php $i?>
Saludos
  #5 (permalink)  
Antiguo 24/08/2009, 17:59
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Problema con la nueva version de PHP

<?php echo $i ?>

Revisa la documentación: http://www.php.net/ini.core.php#ini.short-open-tag
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 24/08/2009, 18:08
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema con la nueva version de PHP

Gracias jam1138, estaba buscandolo en la informacion cuando has respondido a mi post, gracias. Tambien gracias a cosmo_. Solucionado. Gracias
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 04:51.