Foros del Web » Programando para Internet » PHP »

javascript embebido a php

Estas en el tema de javascript embebido a php en el foro de PHP en Foros del Web. holas atodo el mundo Tengo una página (indice.php) con contenido php que, a su vez contiene código html. Para que os hagais una idea: <?php ...
  #1 (permalink)  
Antiguo 15/02/2005, 11:42
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
javascript embebido a php

holas atodo el mundo

Tengo una página (indice.php) con contenido php que, a su vez contiene código html. Para que os hagais una idea:

<?php

$content = "<html></html>";

echo $content;

?>

Luego, a su vez, ese html llama a 2 ficheros javascript:

$content.="<script language='javascript' src='script1.js'></script>";
$content.="<script language='javascript' src='script2.js'></script>";

Finalmente quiero que ese javascript interactúe con el html embebido. Que puedo hacer? meto el código de los dos ficheros javascript embebidos en php?lo que pasa es que entonces esos ficheros no los puedo guardar como .js sino como .php y , por tanto no podre llamarlos a traves del html. No se si se me entiende....Quiero ejecutar código javascript en html embebido por php.

gracias de antemano

abe_k
  #2 (permalink)  
Antiguo 15/02/2005, 11:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Todo lo que tienes entre <? ?> al ser "PHP" ha de ejecutarse .. así que debes llamarlo .php (al script en concreto) ..

Ahora .. si quieres llamarlo en una página HTML .. puedes hacerlo tipo:

Código PHP:
<script languaje="javascript" src="tu_script.php"></script> 
Eso sí .. la salida que genere "tu_scrip.php" tiene que se "lanzada" desde javascript tipo:

Código PHP:
$php_variable="blablabla";
echo 
"document.write('".$php_variable."')"
Que a su vez la "salida" que generes sea HTML, javascript o cualquier otra cosa "del lado del cliente" es lo de menos, sólo tendrás que tener cuidado con la sintax (en especial comillas ..) cuando las requieras.

Un saludo,
  #3 (permalink)  
Antiguo 16/02/2005, 03:58
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
auuuua

<?php
$make = isset($_POST['l1']) ? $_POST['l1'] : -99;
$model = isset($_POST['l2']) ? $_POST['l2'] : -99;
$options = isset($_POST['l3']) ? $_POST['l3'] : -99;

$content.="<body onload='select(\"".$make."\",\"".$model."\",\"".$o ptions."\", 1);' onhelp='Debug();return false;'>
<form name='Form' method='post' action='./resultado.php'>
<div id='sel'>
<table class='normal' width='575' BORDER='0' CELLSPACING='2' CELLPADDING='2' VALIGN='TOP'>";

Hice totdo lo que me dijiste. Creo que esta bien , pero en esta parte de código, hay un error: "Cadena de texto sin terminar". Hago mal alguna cosa en este trozo de código???

gracias

?>
  #4 (permalink)  
Antiguo 16/02/2005, 04:34
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Ese mensaje de error te lo da javascript? Si es asi, entonces el problema esta en el javascript generado. Miralo en "Ver codigo fuente" de tu navegador y mira si es un javascript correcto.
Código PHP:
$content.="<body onload='select(\"".$make."\",\"".$model."\",\"".$options."\", 1);' onhelp='Debug();return false;'>
<form name='Form' method='post' action='./resultado.php'>
<div id='sel'>
<table class='normal' width='575' BORDER='0' CELLSPACING='2' CELLPADDING='2' VALIGN='TOP'>"

En principio parece que las comillas estan bien escapadas. Quizas algun valor de los 3 generan un javascript incorrecto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 16/02/2005, 04:53
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
codigo

holas

al mirar el código fuente veo que las 3 variables me dan -99. Al menos una de ellas tendria que mostrar un valor de base de datos. Me miro los javascript a ver si encuentro algo.

muchas gracias

abe_k
  #6 (permalink)  
Antiguo 16/02/2005, 09:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. como usas todo el código propuesto? .. No veo en tus ejemplos ningún "documen.write" (de javascript) o similar en el script PHP y como lo llamas en tu pagina .html

Un saludo,
  #7 (permalink)  
Antiguo 16/02/2005, 10:32
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
y eso

holas,

Tengo un fichero .php donde:

Código:
$contente="<script language='javascript' src='selectphp.php'></script>";
echo $contente;
en selectphp.php tengo todo el código javascript:

ej:
$php_contente="function Obj( contextID ){";

// properties
$php_contente.="this.id = contextID;";
$php_contente.="this.busy = true;";
$php_contente.="this.callback = null;";
$php_contente.="this.container = contextCreateContainer( contextID );";

// methods
$php_contente.="this.GET = contextGET;";
$php_contente.="this.POST = contextPOST;";
$php_contente.="this.getPayload = contextGetPayload;";
$php_contente.="this.setVisibility = contextSetVisibility;
}";

echo "document.write('".$php_contente."')";

ASi es como lo hago. Alguna ayuda??

abe_k
  #8 (permalink)  
Antiguo 16/02/2005, 11:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En principio "creía" que tu tenías una pagina .html que quieres ejecutar código PHP (que proces otro script.php esté donde esté) .. Si dices:

Cita:
Tengo un fichero .php donde:


Código:
$contente="<script language='javascript' src='selectphp.php'></script>";
echo $contente;
La historia cambia .. eso no corresponde. En su defecto un include("selectphp.php") simple sobra (sin el "document.write()" que te hacía mención para la "otra" versión).

Pero, ahora si que no entiendo la situación ni lo que deseas hacer.

Un saludo,
  #9 (permalink)  
Antiguo 16/02/2005, 11:24
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
ein?

holas otra vez,

a ver si me aclaro (y perdona por no entenderte a la primera).

Si tengo un código javascript en un fichero .php, lo encapsulo en código php de esta forma, no?:

//func_jscript.php
<?php
$php_var = "codigo javascript";

echo $php_var;
?>
2-Luego, llamo al fichero (func_jscript.php) javascript desde mi página .php inicial con:
//indice.php

include(func_jscript.php);

Es así???

Si es así, ya entiendo pq tenia problemas con el código.Lo pruebo y te digo.

gracias
  #10 (permalink)  
Antiguo 16/02/2005, 11:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues si, es así . .un "include()" sólo llama a tu código PHP lo ejecuta y su resultado (salida) si hay .. quedará apartir del punto que lo uses (si es javascript y ha de estar en <head> </head> .. pues por ahí tendrías que meter tu include())

Un saludo,
  #11 (permalink)  
Antiguo 16/02/2005, 11:54
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 13 años
Puntos: 2
question simple

holas otra vez,

una pequeña duda y ya es la ultima ;)

he visto un código tuyo en el que encapsulas html dentro de php de esta forma:

echo <<< HTML

//Codigo Html

HTML;

puedo incluir un fichero javascript (o sea fichero.js dentro de <script></script>) dentro??. o hay algun tag (del estilo <<<Script o así) para javascript??

gracias master

abe_k
  #12 (permalink)  
Antiguo 16/02/2005, 13:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La sintax PHP que mencionas es "Here doc" da igual si es "HMTL" javascript o cualquier otro tipo de "salida" al cliente (si usas un "navegador" tu cliente entiende javascript, HTML .. etc .. pero podría ser como cliente un dispositivo movil que entienda sólo "WAP" por poner un ejemplo).

Cita:
puedo incluir un fichero javascript (o sea fichero.js dentro de <script></script>) dentro??. o hay algun tag (del estilo <<<Script o así) para javascript??
Eso deberías preguntarlo en el foro de Javascript .. de todas formas si que existe .. es lo que ya usas:
<script language='javascript' src='script1.js'></script>

Y script1.js no debe contener <script> .. .</script> .. sólo el "puro" javascript.

Un saludo,
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 20:18.