Foros del Web » Programando para Internet » PHP »

respecto a Javascript y php

Estas en el tema de respecto a Javascript y php en el foro de PHP en Foros del Web. tengo una pagina que seria algo asi: <?php include("script.php") ?> <html> <head><title>titulo</title> <script src="actu.js"></script> </head> <body> Aquie estaria el body </body> </html> bien, en script.php ...
  #1 (permalink)  
Antiguo 08/04/2005, 13:30
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
respecto a Javascript y php

tengo una pagina que seria algo asi:
<?php
include("script.php")
?>
<html>
<head><title>titulo</title>
<script src="actu.js"></script>
</head>
<body> Aquie estaria el body
</body>
</html>

bien, en script.php tengo varias funciones
en actu.js entre otras cosas hago un document.write('<?php mifuncion() ?>');

la funcion mifuncion() estaria definida en script.php. pues da error. no carga bien el actu.js y es de esto proque si lo quito funciona a la perfección.
¿Alguien em ayuda? Alguna idea?
  #2 (permalink)  
Antiguo 08/04/2005, 13:36
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Antes que nada, si haces un document.write de una funcion PHP esta funcion se imprimirá en el navegador en lugar de ejecutarse...
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 08/04/2005, 15:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Textualmente .. <?php mifuncion() ?> .. si devuelve esa ejecución de esa función cierta salida .. dependerá de esa salida (uso de comillas .. etc) que no dé conflicto con Javascript ..

De hecho puedes hacer la prueba tu mismo:
1) obten el código HTML/javascript etc que genera mifuncion() tras ejecutarse (en tu navegador=> ver código fuente).
2) pega ese código tal cual bajo tu document.write('aquí lo que obtengas .. deja las comillas tal cual las usas aquí'

Y ejecuta tu página .. Si obtienes errores de javascaript .. es momento de ir al foro de javascript a pregutar con ese código de prueba donde está el problema . .Si lo encuentras por ejemplo que usas comillas simples y te dá conflicto por eso .. ahí vemos como cambiarlo o adpatarlo.

Un saludo,
  #4 (permalink)  
Antiguo 08/04/2005, 16:42
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
He comprobado als comillas, estan bien, el document usa ' y la funcion las tiene todas del tipo "
Podría ser de los ; que se usan para seprar instrucciones? por ejemplo:


$saludo="bienvenido";
echo $saludo;

y en: document.write ('<? mifuncion() ?>');

Podría Javascript wntender los ; de php por suyos? si es esto como lo soluciono?
  #5 (permalink)  
Antiguo 08/04/2005, 16:52
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
Cita:
Iniciado por Manu_Leon
Podría Javascript wntender los ; de php por suyos?
No si está bien estructurado tu código...

Lo que estás haciendo ahí es ejecutando una función de PHP (mifunción()) que quizá te mande a imprimir algo... no lo sabemos, no lo muestras... el problema sería que esa función PHP te mandará a imprimir algo que sí interfiriera con JS.. ejemplo:
Código PHP:
<?php
// estamos dentro de PHP
// definimos una función
function mifuncion() {
   echo 
"'\"algo\"';;";
}

// salimos de PHP
?>

<script>
document.write ("<? mifuncion() ?>");
</script>
... si no me fallan los cálculos... acabarias con algo como
Código:
<script>
document.wite("'"algo"';;");
</script>
lo cuál... sí sería un problema... Es importante entender y definir bien dónde termina PHP y dónde empieza JS...

Espero haberta ayudado en algo... Suerte!
__________________
٩(͡๏̯͡๏)۶
» 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 08/04/2005, 17:09
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
no
el codigo k tengo es para mostrar 5 ultimas noticias, sí hace algunhos echos:
es este:

function mifuncion(){
$nombres;
$i=0;
if ($handle = opendir("noticias/titulares/")) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$nombres[$i]=$file;
$i++;
}
}
closedir($handle);
}

$total=count($nombres);

$array_num=array();
foreach($nombres as $v){
if(ereg("resumennoticia([0-9]*).txt",$v,$out)){
$array_num[]=$out[1];
unset($out);
}
}
sort ($array_num);
$comienzo=$array_num[$total-1];

$final=$comienzo-5;

for ($j=$comienzo;$j>=$final;$j--){
$noticia="noticias/titulares/noticia" . $j . ".txt";
include($noticia);
}
}
  #7 (permalink)  
Antiguo 08/04/2005, 17:12
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
por cierto el codigo de las noticias.txt es un html normal tipo <p>texto</p>
  #8 (permalink)  
Antiguo 09/04/2005, 08:02
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
si cambio el codigo y pongo en vez de llamar a la funcion el codigo de la propia funcion quedaria asi: que yo haya visto no hay problemas entre las comillas (creo) ¿podria estar el error en los ; de php que javascript lo entendiera como fin de su intruccion?

el codigo es el siguiente:

dentro del actu.js:
document.write('<?php
$nombres;
$i=0;
if ($handle = opendir("noticias/titulares/")) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$nombres[$i]=$file;
$i++;
}
}
closedir($handle);
}

$total=count($nombres);

$array_num=array();
foreach($nombres as $v){
if(ereg("resumennoticia([0-9]*).txt",$v,$out)){
$array_num[]=$out[1];
unset($out);
}
}
sort ($array_num);
$comienzo=$array_num[$total-1];

$final=$comienzo-5;

for ($j=$comienzo;$j>=$final;$j--){
$noticia="noticias/titulares/noticia" . $j . ".txt";
include($noticia);
}
?>'); //aqui termina el document.write

peude ser de los ; o esque para indicar los saltode linea tengo k hacer \n o cual es el error??
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 14:03.