incluyendo php en código html dentro de php

<?php
if(isset($left))
{
echo    "<button name = rightname onclick= \" disp();\">". "$left"."</button>";
}
?>

aquí disp es una función php. pero no puedo usarlo. ¿Alguien puede decirme cómo superar este problema ...

preguntado el 09 de enero de 11 a las 10:01

NO, disp es una función de JavaScript en ese contexto. Si tuvieras la intención de usar disp() como una función de PHP, tendría que hacer una devolución de datos y verificar si el usuario hizo clic rightname. -

Quite las barras diagonales inversas y agregue puntos: ".disp()."> -

6 Respuestas

La única forma de ejecutar una función PHP en respuesta a que un usuario haga clic en algo en su navegador es enviar una solicitud HTTP al servidor.

La forma más sencilla de lograr esto sería:

<a href="disp.php"><?php echo htmlspecialchars($left); ?></a>

Luego debe escribir disp.php de manera que incluya la función que desea ejecutar y la llame. Luego, debe devolver una respuesta adecuada al navegador (por ejemplo, una página para mostrar o un encabezado de redirección (a través de la ubicación).

También podría considerar el uso de XMLHttpRequest (probablemente a través de una biblioteca de terceros como YUI or jQuery) para realizar la solicitud HTTP utilizando JavaScript sin que el usuario abandone la página (Ajax). Dada la cantidad de conocimiento que Aparecer basarse en su pregunta, es posible que necesite un introducción a JavaScript de antemano.

Respondido el 09 de enero de 11 a las 14:01

Simplemente intenta así

<?php
if(isset($left))
{
?>
    <button name ="rightname" onclick= "<?php disp();?>"><?php echo $left;?></button>
<?php
}
?>

Respondido el 09 de enero de 11 a las 14:01

¿Cómo crees que es la salida de la función disp ()? - Tu sentido común

onclick solo funciona para funciones javascript, no funciones PHP, eso no funcionará. Vea el comentario de BoltClock debajo de su pregunta.

Una de las formas de ejecutar php en combinación con javascript es usando una publicación ajax (http://api.jquery.com/jQuery.post/). P.ej:

    $.post("test.php", { name: "John", time: "2pm" },
   function(data){
     alert("Data Loaded: " + data);
   });

Y al concatenar variables con cadenas, no es necesario poner la variable entre comillas dobles, o simplemente poner la variable en la cadena sin cerrar las comillas dobles.

echo    "<button name='rightname' >". $left."</button>";

O (solo funcionará cuando se usen comillas dobles)

echo    "<button name='rightname' >$left</button>";

Respondido el 09 de enero de 11 a las 14:01

si no usa la respuesta de Aston, puede corregir su código de la siguiente manera:

<?php
if(isset($left))
{
echo    '<button name ="rightname" onclick= "' .  disp() . '">'. $left .'</button>';
}
?>

Quería señalar que puede usar comillas simples para facilitar el manejo de las comillas dobles en el interior.

Respondido el 09 de enero de 11 a las 16:01

OP dice disp() es una función php. - Moinudin

Lo siento, no lo conseguí con BoltClock. Editado. ¡Gracias! - Aif

Antes de molestarse con AJAX, ¿le importaría que le pregunte qué disp() función hace? Si es algo que no depende en gran medida de la interacción del servidor (operaciones de archivos, conexiones de base de datos), es posible que podamos ayudarlo a migrarlo a JS y eliminar la necesidad de AJAX.

Respondido el 09 de enero de 11 a las 16:01

Escribiría esto:

<?php if(isset($left)) : ?>
   <button name="rightname" onclick="<?php disp(); ?>"><?php echo $left ?></button>
<?php endif; ?>

Respondido el 09 de enero de 11 a las 14:01

Dudo seriamente que la función disp () produzca un parámetro dhtml válido - Tu sentido común

gracias a todos. Aclaré mi duda .... Y ya que estoy haciendo un sitio web, todavía necesitaré ayuda de todos ustedes (si es que hay alguna) ... Así que estén conmigo .... - xtras

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.