Foros del Web » Programando para Internet » PHP »

Ejecutar una función php en el evento onclick de un botoón

Estas en el tema de Ejecutar una función php en el evento onclick de un botoón en el foro de PHP en Foros del Web. Hola Tengo un botón, y en el evento onclick quiero que se ejecute dos funciones, una sería una función php y otra una función javascript ...
  #1 (permalink)  
Antiguo 08/03/2010, 16:03
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 5 meses
Puntos: 1
Ejecutar una función php en el evento onclick de un botoón

Hola

Tengo un botón, y en el evento onclick quiero que se ejecute dos funciones, una sería una función php y otra una función javascript que envia el formulario. Lo que no sé es como hacerlo, en teoria la estructura sería así:

Código HTML:
<input type button onclick="funcionPHP(document.getElementById('mitextfield').value);formulario.submit();"
Código PHP:
<?php
 funcionPHP
($mivariable){
    
//aquí hago algo con la variable
}
?>
Mi duda y es lo que no me sale, es como se escribe la función php, dentro del evento onclick, para que pase el valor de un textfield, a una función php.

Estoy provando y no encuentro la forma de hacerlo.

Saludos
  #2 (permalink)  
Antiguo 08/03/2010, 16:26
Avatar de Mahishasura  
Fecha de Ingreso: enero-2010
Ubicación: En las profundidades del cosmos
Mensajes: 58
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Ejecutar una función php en el evento onclick de un botoón

Estimado, con el evento onclick llamas a una función Javascript, y lo que tu quieres es ejecutar una función PHP. Lo que puedes hacer es ejecutar la función PHP en el destino del formulario, me explico. Supongamos que tu formulario se llama "miform", tiene action "procesar.php" y method "post". Dentro de ese form hay un input text que se llama "texto" y por supuesto el botón para enviar. Todo bien hasta ahí, ahora a estructurarlo...
Código HTML:
Ver original
  1. <form name="miform" action="procesar.php" method="post">
  2.   <input type="text" name="texto" />
  3.   <input type="submit" value="enviar" />
  4. </form>
Cuando apretas en el botón, el formulario te dirige hasta procesar.php transportando todos los datos que se encuentran dentro de él. Por lo tanto en procesar.php debes rescatar los datos del form, así:

procesar.php
Código PHP:
Ver original
  1. $texto_del_form=$_POST["texto"];
  2.  
  3. function funcionPHP($variable){
  4.   echo $variable;
  5. }
  6. //Ahora llamas a la función
  7. funcionPHP($texto_del_form); //Recuerda que $texto_del_form corresponde al textbox del formulario

Espero te sirva de algo...
Se me olvidaba. Si no quieres cambiar de página, te recomiendo que en vez de escribir procesar.php en "action", uses variables por URL del tipo "index.php?do=procesar"
Entonces en index.php o tu cualquier página escribes:
Código HTML:
Ver original
  1. <form name="miform" action="?do=procesar" method="post">
  2.   <input type="text" name="texto" />
  3.   <input type="submit" value="enviar" />
  4. </form>

Código PHP:
Ver original
  1. if($_GET["do"]=="procesar"){
  2.   $texto_del_form=$_POST["texto"];
  3.   funcionPHP($texto_del_form); //debes haber definido la función con anterioridad.
  4. }

Saludos
  #3 (permalink)  
Antiguo 08/03/2010, 16:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ejecutar una función php en el evento onclick de un botoón



así es... definitivamente te confundes de lenguajes, ya que PHP se pre-procesa en el servidor...

pues, otra alternativa sería implementar Ajax
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 08/03/2010, 17:00
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Ejecutar una función php en el evento onclick de un botoón

Definitivamente la mejor opción es Ajax.
  #5 (permalink)  
Antiguo 09/03/2010, 02:35
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Ejecutar una función php en el evento onclick de un botoón

lo de $_POST y ver el valor en la página de destino, sí lo sé, es lo habitual, pero es que en este caso lo tengo que hacer así, en cuánto a utilizar ajax, podeis darme una pista por donde tirar.

La verdad, lo que quiero hacer es lo siguiente, quiero escribir antes de enviar el formulario en un archivo de texto.

<input type="button" onclick="Antes de enviar, escribir en un archivo de texto, en el servidor";formulario.submit()">

Lo que quiero escribir es el valor de un document.getElementById('mitexto').value , Javascript creo que no escribe texto en el servidor, y si lo hace el navegador, tiene que tener pocos permisos, pero php si lo hace, por eso he pensado, que recuperando el valor de document.getElementById('mitexto').value, y pasarlo a php es le mejor opción.

Saludos

Última edición por Dav1d; 09/03/2010 a las 02:48
  #6 (permalink)  
Antiguo 09/03/2010, 03:28
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: Ejecutar una función php en el evento onclick de un botoón

Tienes que aprender la base de como funciona PHP

No puedes ser programador de PHP sin tener conocimientos basicos.
La unica opcion para lo que quieres es utilizar Ajax
Con jQuery es mas sencillo http://api.jquery.com/jQuery.ajax/
  #7 (permalink)  
Antiguo 10/03/2010, 13:11
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Ejecutar una función php en el evento onclick de un botoón

Complementando lo que dice karliky, no se debe ir demasiado al grano, se debe aprender lo básico, a veces en este foro escriben personas que no tienen ni idea como funciona el lenguaje de programación en el cual pretenden hacer algo. Es un error fatal, porque la confusión empieza a hacerse cada vez más frecuente. Lo mejor es aprender primero en qué consiste cada lenguaje, empezar haciendo cosas sencillas y aumentar la complejidad poco a poco.

Por ejemplo en este caso Dav1d quiere una pista de ajax, no quiere aprender ajax propiamente, quiere saber como resolver el problema con ajax aunque no espera que le demos la solución en código, quiere la pista para la solución concreta. Mala estrategia. David, aprende lo que es PHP, aprende lo que es JavaScript (si ya lo sabes genial) y aprende lo que es Ajax, no vayas demasiado al grano, por ese error se pierde mucho tiempo y solo se consigue bastante fustración. Suerte!

Etiquetas: ejecutar, onclick, eventos
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 08:38.