Foros del Web » Programando para Internet » PHP »

Problema con javascript en php

Estas en el tema de Problema con javascript en php en el foro de PHP en Foros del Web. Este es el codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php include ( "conexion.php" ) ; ' . $_SESSION[' usuario '] . ' user_login ( ...
  #1 (permalink)  
Antiguo 09/05/2011, 15:17
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Problema con javascript en php

Este es el codigo:
Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. ' . $_SESSION['usuario'] . '
  4. user_login();
  5.  
  6. echo '<meta http-equiv="Refresh" content="5;url=perfil.php"> ';
  7. echo' <html>
  8. <head>
  9. <style type="text/css">/*Container*/  
  10.    .progress-bar {  
  11.        border: 1px solid #56577A;  
  12.  
  13.        width: 200px;  
  14.        margin: 5px;  
  15.        padding: 1px;  
  16.        background: #fff;  
  17.        float: left;  
  18.  -moz-border-radius:5px 5px 5px 5px;
  19.  -ms-border-radius: 5px 5px 5px 5px;
  20.  -webkit-border-radius: 5px 5px 5px 5px;
  21.  border-radius: 5px 5px 5px 5px;
  22.    }  
  23.      
  24.  
  25.    .bar {  
  26.        height: 15px;  
  27.        font-size: 11px;  
  28.        
  29.        text-indent:-9000px;  
  30.  
  31.  -moz-border-radius:5px 5px 5px 5px;
  32.  -ms-border-radius: 5px 5px 5px 5px;
  33.  -webkit-border-radius: 5px 5px 5px 5px;
  34.  border-radius: 5px 5px 5px 5px;
  35.  
  36.    }  
  37. </style>
  38.      
  39.    <script type="text/javascript">  
  40.        window.onload = function() {initialize()}  
  41.  
  42. function initialize() {  
  43.        divId = "sample";  
  44.        thedivId = document.getElementById(divId);  
  45.        var percentage = thedivId.innerHTML;  
  46.  
  47.        thedivId.style.backgroundColor="#000";  
  48.        brim(divId,0,parseInt(percentage.substr(0, percentage.length-1)));  
  49.    }  
  50.    function brim(Id,start,percentage) {  
  51.        if (document.getElementById) {  
  52.             o = document.getElementById(Id);  
  53.                 if (start <= percentage) {  
  54.                    setWidth(o, start);  
  55.                    start += 1;  
  56.                    //Show progression percentage near the progress bar  
  57.                    document.getElementById("percentage").innerHTML = (start -1) + "%";  
  58.                    window.setTimeout("brim('"+Id+"',"+start+","+percentage+")", 50);  
  59.                 }  
  60.       }  
  61.    }  
  62.      
  63.    function setWidth(o, start) {  
  64.        o.style.width = start+"%";  
  65.    }  
  66.    </script>      
  67. </head>
  68. <body>
  69. <div class="progress-bar" >  
  70.        <div id ="sample" class="bar">100%</div>  
  71.    </div>  
  72.    <div id ="percentage"></div>  
  73. </body>
  74. </head>';
  75. ?>

el problema es que no me funciona el script
cual es el fallo?
  #2 (permalink)  
Antiguo 09/05/2011, 15:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con javascript en php

Me pregunto yo, si no tienes errores de código php, ¿porque preguntas en este foro?

El hecho de que imprimas código HTML+JS (lo cual no deberías hacer) con código PHP no convierte tu problema en PHP, pues el problema es que el código JS no funciona, ¿verdad?

Entonces deberías depurar tu código JS con Firebug, o algo por el estilo, no es nada de PHP.

Punto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/05/2011, 15:52
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema con javascript en php

El código si funciona. El problema está en el echo.
Pon las comillas de fuera como dobles y las de dentro escapalas con \.

Código PHP:
Ver original
  1. <?php
  2. <?php
  3. include("conexion.php");
  4. ' . $_SESSION['usuario'] . ' #No entiendo que quieres hacer con esto
  5. user_login();
  6.  
  7. <?php
  8.  
  9. echo '<meta http-equiv="Refresh" content="5;url=perfil.php"> ';
  10. echo "<html>
  11. <head>
  12. <style type=\"text/css\">/*Container*/  
  13.    .progress-bar {  
  14.        border: 1px solid #56577A;  
  15.  
  16.        width: 200px;  
  17.        margin: 5px;  
  18.        padding: 1px;  
  19.        background: #fff;  
  20.        float: left;  
  21.  -moz-border-radius:5px 5px 5px 5px;
  22.  -ms-border-radius: 5px 5px 5px 5px;
  23.  -webkit-border-radius: 5px 5px 5px 5px;
  24.  border-radius: 5px 5px 5px 5px;
  25.    }  
  26.      
  27.  
  28.    .bar {  
  29.        height: 15px;  
  30.        font-size: 11px;  
  31.        
  32.        text-indent:-9000px;  
  33.  
  34.  -moz-border-radius:5px 5px 5px 5px;
  35.  -ms-border-radius: 5px 5px 5px 5px;
  36.  -webkit-border-radius: 5px 5px 5px 5px;
  37.  border-radius: 5px 5px 5px 5px;
  38.  
  39.    }  
  40. </style>
  41.      
  42.    <script type=\"text/javascript\">  
  43.        window.onload = function() {initialize()}  
  44.  
  45. function initialize() {  
  46.        divId = \"sample\";  
  47.        thedivId = document.getElementById(divId);  
  48.        var percentage = thedivId.innerHTML;  
  49.  
  50.        thedivId.style.backgroundColor=\"#000\";  
  51.        brim(divId,0,parseInt(percentage.substr(0, percentage.length-1)));  
  52.    }  
  53.    function brim(Id,start,percentage) {  
  54.        if (document.getElementById) {  
  55.             o = document.getElementById(Id);  
  56.                 if (start <= percentage) {  
  57.                    setWidth(o, start);  
  58.                    start += 1;  
  59.                    //Show progression percentage near the progress bar  
  60.                    document.getElementById(\"percentage\").innerHTML = (start -1) + \"%\";  
  61.                    window.setTimeout(\"brim('\"+Id+\"',\"+start+\",\"+percentage+\")\", 50);  
  62.                 }  
  63.       }  
  64.    }  
  65.      
  66.    function setWidth(o, start) {  
  67.        o.style.width = start+\"%\";  
  68.    }  
  69.    </script>      
  70. </head>
  71. <body>
  72. <div class=\"progress-bar\" >  
  73.        <div id =\"sample\" class=\"bar\">100%</div>  
  74.    </div>  
  75.    <div id =\"percentage\"></div>  
  76. </body>
  77. </head>";
  78.  
  79.  
  80.  
  81. ?>
  #4 (permalink)  
Antiguo 10/05/2011, 07:30
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Problema con javascript en php

Sigo teniendo problemas, ya que en el codigo javascript tengo:
Código Javascript:
Ver original
  1. '"+Id+"'
y si lo pongo asi:
Código Javascript:
Ver original
  1. '/"+Id+/"'
no funciona, cual es el problema?
  #5 (permalink)  
Antiguo 10/05/2011, 07:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Problema con javascript en php

La barra de escape es hacia el otro lado, ¿no?

Código Javascript:
Ver original
  1. '\"+Id+\"'
  #6 (permalink)  
Antiguo 10/05/2011, 07:57
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Problema con javascript en php

Cita:
Iniciado por Nexus10 Ver Mensaje
La barra de escape es hacia el otro lado, ¿no?

Código Javascript:
Ver original
  1. '\"+Id+\"'
Uf si! ya va gracias!
  #7 (permalink)  
Antiguo 10/05/2011, 07:58
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Problema con javascript en php

Cita:
Iniciado por pateketrueke Ver Mensaje
Me pregunto yo, si no tienes errores de código php, ¿porque preguntas en este foro?

El hecho de que imprimas código HTML+JS (lo cual no deberías hacer) con código PHP no convierte tu problema en PHP, pues el problema es que el código JS no funciona, ¿verdad?

Entonces deberías depurar tu código JS con Firebug, o algo por el estilo, no es nada de PHP.

Punto.
Pues lo puse en php porque el javascript en si no tenia ningun problema, solo tenia el problema cuando lo ponia en php, pero ya esta arreglado.
  #8 (permalink)  
Antiguo 10/05/2011, 08:02
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: Problema con javascript en php

Veo que es un problema de concatenación, mira, yo siempre recomiendo esto a todos para que no tengas que lidiar con estos errores tediosos

PHP -> apostrofes
HTML -> comillas
JS en HTML -> apostrofes escapados

un ejemplo de lo que me refiero:

Código PHP:
<?php

echo '<img src="/images/lalala.jpg" onclick="efectito_loco(\'lalala\',10,\'chachacha\')" />';

?>
A mi parecer es muchisimo más facil sabiendo que siempre utilizas esos caracteres para tales lenguajes y no tendrás cruzadas.

Cuando son códigos HTML aplios como el tuyo, te recomendaría que abras etiquetas PHP donde necesitas e imprimas el HTML fuera de estas.

Código PHP:
<a href="<?php echo $url?>" title="<?php echo $titulo?>"><?php echo $titulo?></a>
O sino podes usar heredoc, un método aceptable y no muy usado... wikipedia me salvo con este ejemplo:

Código PHP:
<?php
 
$name       
"Joe Smith";
$occupation "Programmer";
echo <<<EOF
 
        This is a heredoc section.
        For more information talk to $name, your local $occupation.
 
        Thanks!
 
EOF;
 
$toprint = <<<EOF
 
        Hey $name! You can actually assign the heredoc section to a variable!
 
EOF;
echo 
strtolower($toprint);
 
?>
Espero te sea util, Salutes.
  #9 (permalink)  
Antiguo 10/05/2011, 08:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con javascript en php

Y para eso también hay un aporte que te enseña a usar las comillas bien:
http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: javascript
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 06:19.