Estoy buscando una solución simple para llamar a una función PHP solo cuando se hace clic en una etiqueta .
PHP:
function removeday() { ... }
HTML:
<a href="" onclick="removeday()" class="deletebtn">Delete</a>
ACTUALIZACIÓN: el código html y PHP están en el mismo archivo PHP
javascript
php
ajax
onclick
Miguel
fuente
fuente
<a role="button" href="?action=removeday" class="debatebtn">Delete</a>
donde se detecta la acción y ejecuta la función removeday () similar aif($action == 'removeday'){ removeday(); }
. Sé que es tarde, pero creo que aún podría ayudar a alguien con este problema. C§Respuestas:
Primero, comprenda que tiene tres idiomas trabajando juntos:
PHP: solo lo ejecuta el servidor y responde a solicitudes como hacer clic en un enlace (GET) o enviar un formulario (POST).
HTML y JavaScript: solo se ejecuta en el navegador de alguien (excepto NodeJS).
Supongo que su archivo se parece a:
Debido a que PHP solo responde a las solicitudes (GET, POST, PUT, PATCH y DELETE a través de $ _REQUEST), así es como debe ejecutar una función PHP aunque estén en el mismo archivo. Esto le brinda un nivel de seguridad, "¿Debo ejecutar este script para este usuario o no?".
Si no desea actualizar la página, puede realizar una solicitud a PHP sin actualizar a través de un método llamado Asynchronous JavaScript and XML (AJAX).
Sin embargo, eso es algo que puedes buscar en YouTube. Solo busca "jquery ajax"
Recomiendo Laravel a cualquier persona nueva para comenzar bien: http://laravel.com/
fuente
If you don't want to refresh the page, you can make a request to PHP without refreshing via a method called Asynchronous JavaScript and XML (AJAX).
Bueno, sí lo incluyóonclick
en la pregunta, por lo que está bastante claro que el objetivo es realizar una acción sin actualizar. ¬_¬En javascript, crea una función ajax,
Luego llama desde html,
Y en tu ajax.php,
fuente
type
debe usarse en jQuery anterior a 1.9.0, mientras quemethod
es un alias y debe usarse en versiones más nuevas.Tendrá que hacer esto a través de AJAX . Te recomiendo ENCARECIDAMENTE que uses jQuery para facilitarte esto ...
http://api.jquery.com/jQuery.ajax/
fuente
Se puede hacer y con php bastante simple si este es tu botón
y este es tu código php
se llama al código get cuando se publica enviar get, lo que ocurre cuando se hace clic en el botón.
fuente
Intenta hacer algo como esto:
fuente
Solución sin recargar la página
fuente
Ésta es la forma más sencilla posible. Si el formulario se publica a través de una publicación, haga la función php. Tenga en cuenta que si desea realizar la función de forma asincrónica (sin la necesidad de volver a cargar la página), necesitará AJAX.
fuente
Note that if you want to perform function asynchronously (without the need to reload the page), then you'll need AJAX.
Bueno, elonclick
indicaría que eso es exactamente lo que quiere. ¬_¬Aquí hay una alternativa con AJAX pero sin jQuery, solo JavaScript normal:
Agregue esto a la primera página php / principal, desde donde desea llamar a la acción, pero cámbielo de una
a
etiqueta potencial (hipervínculo) a unbutton
elemento, para que ningún bot o aplicación maliciosa (o lo que sea) haga clic en él.Cuando
button
se hace clic en el,onclick
usa la función de javascript del encabezado para enviar$sendingValue
vía ajax a otra página php, como muchos ejemplos antes de este. La otra página,ajax-php-page.php
busca el valor GET y regresa conprint_r
:La respuesta de
print_r
luego se devuelve y se muestra conLos
+=
puebla y se suma a los elementos HTML existentes, eliminando los+
cambios justos y reemplaza el contenido existente del HTMLp
elemento"results"
.fuente
Prueba esto, funcionará bien.
fuente