He creado una página llamada functioncalling.php que contiene dos botones, Enviar e Insertar . Como principiante en PHP, quiero probar qué función se ejecuta cuando se hace clic en un botón. Quiero que la salida aparezca en la misma página. Entonces creé dos funciones, una para cada botón. El código fuente de functioncalling.php es el siguiente:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<form action="functioncalling.php">
<input type="text" name="txt" />
<input type="submit" name="insert" value="insert" onclick="insert()" />
<input type="submit" name="select" value="select" onclick="select()" />
</form>
<?php
function select(){
echo "The select function is called.";
}
function insert(){
echo "The insert function is called.";
}
?>
El problema aquí es que no obtengo ningún resultado después de hacer clic en cualquiera de los botones.
¿Dónde exactamente me estoy equivocando?
Respuestas:
Sí, necesitas Ajax aquí. Consulte el código a continuación para obtener más detalles.
Cambia tu marcado así
jQuery:
En ajax.php
fuente
Los clics en los botones son del lado del cliente, mientras que PHP se ejecuta del lado del servidor , pero puede lograr esto usando Ajax :
En su archivo PHP:
fuente
Debe hacer que el botón llame a la misma página y, en una sección de PHP, compruebe si se presionó el botón:
HTML:
PHP:
fuente
No puede llamar a funciones PHP como hacer clic en un botón desde HTML. Porque HTML está en el lado del cliente mientras PHP ejecuta el lado del servidor.
O necesita usar algo de Ajax o hacerlo como en el fragmento de código a continuación.
Debe publicar los datos de su formulario y luego verificar el botón apropiado en el que se hace clic.
fuente
Para mostrar $ mensaje en su entrada:
Para usar functioncalling.php como un archivo externo, debe incluirlo de alguna manera en su documento HTML.
fuente
Prueba esto:
fuente
Puede escribir así en JavaScript o jQuery Ajax y llamar al archivo
fuente
El
onclick
atributo en HTML llama funciones de JavaScript, no funciones de PHP.fuente
Estaba atrapado en esto y lo resolví con un campo oculto:
En
value
puedes agregar lo que quieras agregar.En test.php puede recuperar el valor a través de
$_Post[ID]
.fuente
ID
ser citado en$_Post[ID]
? ¿PHP admite palabras simples, como en Perl?Use una llamada recursiva donde la acción del formulario se llama a sí misma. Luego agregue código PHP en la misma forma para atraparlo. En
foo.php
su formulario llamaráfoo.php
alpost
Una vez que se haya enviado el formulario, se llamará a sí mismo (
foo.php
) y puede atraparlo a través de la variable predefinida de PHP$_SERVER
como se muestra en el código a continuaciónfuente
Aquí hay un ejemplo que podría usar:
fuente
Simplemente puedes hacer esto. En php, puede determinar el clic del botón mediante el uso de
Por lo tanto, debe modificar su código de la siguiente manera:
fuente