Foros del Web » Programando para Internet » PHP »

ejecion a nivel de web barbaro, a nivel local no ejecuta script

Estas en el tema de ejecion a nivel de web barbaro, a nivel local no ejecuta script en el foro de PHP en Foros del Web. El problema que tengo es anivel local (no es la primera vez que me sucede), el siguiente script de paginacion en la web anda barbaro, ...
  #1 (permalink)  
Antiguo 11/11/2006, 12:26
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 17 años, 8 meses
Puntos: 0
ejecion a nivel de web barbaro, a nivel local no ejecuta script

El problema que tengo es anivel local (no es la primera vez que me sucede), el siguiente script de paginacion en la web anda barbaro, pero a nivel local no, alguien tiene idea de porque?????

Código PHP:
<?

function conectar() 

    
$base_de_datos "pruebas";
    
$db_usuario "pruebas"
    
$db_password "pruebas"
   
    if (!(
$link mysql_connect("localhost"$db_usuario$db_password))) 
    { 
        echo 
"Error conectando a la base de datos."
        exit(); 
    } 
    if (!
mysql_select_db($base_de_datos$link)) 
    { 
        echo 
"Error seleccionando la base de datos."
        exit(); 
    } 
    return 
$link


$db conectar();


$registros 3;

if (!
$pagina) { 
    
$inicio 0
    
$pagina 1

else { 
    
$inicio = ($pagina 1) * $registros



?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Noticias</title>
<style>
    body { font-family: arial; font-size:12px}
</style>
</head>

<body>
    <?
    $resultados 
mysql_query("SELECT id FROM articulos WHERE visible = 1");
    
$total_registros mysql_num_rows($resultados); 
    
$resultados mysql_query("SELECT * FROM articulos WHERE visible = 1 ORDER BY fecha DESC LIMIT $inicio, $registros");    
    
$total_paginas ceil($total_registros $registros);                       

    if(
$total_registros) {
    
        while(
$articulo=mysql_fetch_array($resultados)) {
            
            echo 
"<b>".$articulo["titulo"]."</b><br>";
            echo 
"<font color='#666666'>".$articulo["descripcion"]."</font><br><br><br>";
            
        }
        
    } else {
        echo 
"<font color='darkgray'>(sin resultados)</font>";
    }
    
    
mysql_free_result($resultados);                
    
    if(
$total_registros) {
        
        echo 
"<center>";
        
        if((
$pagina 1) > 0) {
            echo 
"<a href='paginacion.php?pagina=".($pagina-1)."'>< Anterior</a> ";
        }
        
        for (
$i=1$i<=$total_paginas$i++){ 
            if (
$pagina == $i
                echo 
"<b>".$pagina."</b> "
            else
                echo 
"<a href='paginacion.php?pagina=$i'>$i</a> "
        }
      
        if((
$pagina 1)<=$total_paginas) {
            echo 
" <a href='paginacion.php?pagina=".($pagina+1)."'>Siguiente ></a>";
        }
        
        echo 
"</center>";
        
    }
    
?>
</body>
</html>
<? mysql_close($db);?>
El error que me devuelve es el siguiente:

".$articulo["titulo"]."
"; echo "".$articulo["descripcion"]."


"; } } else { echo "(sin resultados)"; } mysql_free_result($resultados); if($total_registros) { echo "
"; if(($pagina - 1) > 0) { echo "< Anterior "; } for ($i=1; $i<=$total_paginas; $i++){ if ($pagina == $i) echo "".$pagina." "; else echo "$i "; } if(($pagina + 1)<=$total_paginas) { echo " Siguiente >"; } echo "
"; } ?>

Como que hay codigo que no se ejecuta, bueno gracias
  #2 (permalink)  
Antiguo 11/11/2006, 12:58
Avatar de realandres  
Fecha de Ingreso: noviembre-2006
Mensajes: 59
Antigüedad: 17 años, 5 meses
Puntos: 0
tu bd en el servidor tiene los mismos registros que la local?? puede ser un problema que en la local no encuentre registros, y al ejecutar el free result se jode, usa el mysql_free_result solo si tu consulta trae demasiados registros. Te recomiendo tambien el asistente para paginacion que trae Dreamweaver 8.
  #3 (permalink)  
Antiguo 11/11/2006, 13:12
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 17 años, 8 meses
Puntos: 0
tu sabes que no es el script este el error me pasa con todos

pero no solo es este script me pasa con todos los script (debe ser alguna opcion de configuracion del php.ini, pero yo me doy cuenta, bueno seguimos en la busqueda, gracias
  #4 (permalink)  
Antiguo 11/11/2006, 13:54
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, 9 meses
Puntos: 102
Aparentemente el problema es el uso de <? en lugar de <?php, si pudieras reemplazar esto sería mucho mejor.

El uso del método abreviado se controla mendiante la directiva short-open-tag en elphp.ini

www.php.net/ini.core#ini.short-open-tag

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

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 11/11/2006, 14:12
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 17 años, 8 meses
Puntos: 0
bueno solucione el tema de los errores anteriores

Bueno solucione el tema de los errores anteriores, es decir con las modificaciones de <?php ......

Pero ahora a nivel local no me carga las pagina con los nuevos tres resultados, es decir siempre veo lo mismo (es como que no carga nuevamente la pagina con nuevos tres resultados), gracias
  #6 (permalink)  
Antiguo 12/11/2006, 01:33
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, 9 meses
Puntos: 102
Variables globales. Mirando por encima prueba cambiar esto:
Código PHP:
if (!$pagina) { 
    
$inicio 0
    
$pagina 1

else { 
    
$inicio = ($pagina 1) * $registros

por esto
Código PHP:
if (!empty($_GET['pagina'])) { 
    
$inicio 0
    
$pagina 1

else { 
    
$pagina $_GET['pagina'];
    
$inicio = ($pagina 1) * $registros

Leete las FAQ:
http://www.forosdelweb.com/showpost....88&postcount=3
http://www.forosdelweb.com/showpost....89&postcount=4 (los artículos al final)
y www.php.net/security.globals

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

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 13/11/2006, 10:43
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 17 años, 8 meses
Puntos: 0
hice los cambios que dijiste y el problema se sigue dando

Lo que ahora al principio me larga el siguiente error:
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\sitios\www\Paginacion\paginacion.php on line 65

la linea 65 es:

Código PHP:
        while($articulo=mysql_fetch_array($resultados)) { 
Pero vuelvo a decir el problema solo se me presenta a nivel local (o sea que no es un problema solo de este script, si no de varios).
En la web anda barbaro, por esto; es que me tiene mas desconcertado, gracias
  #8 (permalink)  
Antiguo 13/11/2006, 10:53
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Pregunta

Me llama la atención que tienes dos veces declarada la variable $resultados

Código PHP:
[B]$resultados [/B]= mysql_query("SELECT id FROM articulos WHERE visible = 1"); 
$total_registros mysql_num_rows($resultados);  
[
B]$resultados [/B]= mysql_query("SELECT * FROM articulos WHERE visible = 1 ORDER BY fecha DESC LIMIT $inicio, $registros");  
//¿Esta bien esta "doble" declaración? 
Ahora bien al final de mysql_query() te aconsejo que pongas lo siguiente

Código PHP:
$resultados mysql("...")or die(mysql_error());
//De esta forma sabremos cual es el error. 
Saludillos.
  #9 (permalink)  
Antiguo 13/11/2006, 11:48
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 17 años, 8 meses
Puntos: 0
bueno despues de los cambios me dio el siguiente error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-3, 3' at line 1

Pero vuelvo aclarar a nivel local no me funciona pero si en la web (sigo diciendo que el problema esta en la instalacion local (uso wamp5), gracias
  #10 (permalink)  
Antiguo 13/11/2006, 12:10
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Pregunta

1)¿Seguro que te funciona sin ningun problema? Lo que yo creo es que un servidor simplemente los errores no se estan mostrando a pantalla.

2) ¿Intentaste mandar a pantalla la consulta y ejecutarla directamente en la B.D.? y ¿El error en que sentencia es?

Saludillos.
  #11 (permalink)  
Antiguo 13/11/2006, 12:12
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta

que version de php tienes local?
bueno eso no importa desde que he instalado php5
en las anteriores versiones en el php.ini
la directiva short_open_tag = on viene asi desde php 5 viene en off
checa ese valor si los tienes en off ponlo en on

saludos
__________________
gerardo
  #12 (permalink)  
Antiguo 13/11/2006, 12:39
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 17 años, 8 meses
Puntos: 0
Ya esta el problema solucionado

Era la opcion short_open_tag, lo que pasa que los otros dias la cambie de nuevo para off (ya tenia algunos problemas); igual tenia un error en uno de los campos de la tabla que estaba utilizando, asi que gracias a todos, saludos
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:47.