Foros del Web » Programando para Internet » PHP »

es posible ejecutar condigo php desde un boton?

Estas en el tema de es posible ejecutar condigo php desde un boton? en el foro de PHP en Foros del Web. lo que pregunto es si es posible llamar a una funcion desde eun boton: <input type="button" value="ejecutar" onclick="<?php codigo ?>"> o llamar a una funcion ...
  #1 (permalink)  
Antiguo 20/08/2005, 10:08
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
es posible ejecutar condigo php desde un boton?

lo que pregunto es si es posible llamar a una funcion desde eun boton:
<input type="button" value="ejecutar" onclick="<?php codigo ?>"> o llamar a una funcion php desde el boton. O los botones solo peuden interactuar con Javascript???
  #2 (permalink)  
Antiguo 20/08/2005, 10:14
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 18 años, 8 meses
Puntos: 0
¿Lo has intentado hacer?

No le veo la utilidad pero ¿para que lo quieres?
  #3 (permalink)  
Antiguo 20/08/2005, 10:14
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Así tal cual lo tienes no es posible. Tal vez si explicases con un ejemplo lo que pretendes obtener te daríamos una alternativa.

De todos modos te recomiendo darte una vuelta por el subforo de AJAX.

Saludos
  #4 (permalink)  
Antiguo 20/08/2005, 10:22
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
lo que intentaba hacer es algo facil. para eliminar un registro de una base de datos mysql queria usar una funcion para no tener que acceder a otra pagina. no se si me explico:
registro1 borrar
registro2 borrar

intentaba que al hacer click en el boton borrar ejecutase una funcion php para que borrara el registro sin tener que acceder a otro script que lo hiciera recibiendo el registro a borrar por POST. alguna otra forma de hacerlo?
Podría ahcerlo mediante una funcion Javascript que ejecutara algo asi?:
function borra_reg(registro){
document.write('<php codigo para borrar registro ?><p>registro borrado correctamente</p>');
}

gracias...
  #5 (permalink)  
Antiguo 20/08/2005, 10:27
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 19 años, 11 meses
Puntos: 0
Recordá que JavaScript se ejecuta en la máquina Cliente, PHP en el Servidor, de hecho, para borrar un registro tenes que ir al server a visitarlo para eliminar dicho registro, lo que podes hacer es una clase con sus funciones incluidas tipo así, require(MisFunciones.php), y allí, tener definido la rutina de tus funciones para que la mandes a llamar desde tus páginas al ejecutar después el submit de tu fomulario recomendable en una página de procesos para que no haya problemas con el tal Refresh.
__________________
Julio Hernández
  #6 (permalink)  
Antiguo 20/08/2005, 10:47
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Manu_Leon:
No se puede hacer lo que planteas así.
Si lo que quieres es que el código PHP se ejecute en segundo plano sin que recargue toda la página, como si se tratara de un simple JavaScript, entonces tendrás que utilizar técnicas específicas como AJAX. (O remote scripting).

Hace poco se abrió aquí en forosdelweb un foro de ajax, a´si que te recomiendo darte una vuelta por ahí.

Saludos
  #7 (permalink)  
Antiguo 20/08/2005, 12:13
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 18 años, 8 meses
Puntos: 0
Código PHP:
<?php
if(isset($_POST["borrar"]))
{
    
//conectas con la DB
    //eliminas los datos
    
echo 'Eliminado con existo';
    exit();
}
?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<input type="button" name="borrar" value="Borrar Registro">
</form>
Aunque tendría más utilidad crear una seria de checkbox(uno por registro) mediante un bucle for(), por ejemplo, y despues un simple botón.
Despues solo tienes que seleccionar los que quieres eliminar y pulsar el botón.

Claro, si es que es eso lo que quieres hacer :)
  #8 (permalink)  
Antiguo 20/08/2005, 12:21
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
ohhh, pos llevas razon XD
Gracias
  #9 (permalink)  
Antiguo 22/06/2012, 11:42
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 2 meses
Puntos: 0
Pregunta es posible ejecutar condigo php desde un boton?

Una consulta es posible que se ejecute el codigo si este es BOTON, es decir un <input type="button" name="calcular">.<BR>

Porque he probado el ejemplo anterior uno ejecuta. Por eso mi pregunta, para que ejecute necesariamente tiene que ser un TYPE="SUBMIT" o puede ser TYPE="BUTTON"<br>


Con Submit si funciona pero cuando lo cambie a Button, ya o quiso calcular nada.


Espero puedan ayudarme
  #10 (permalink)  
Antiguo 22/06/2012, 12:00
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: es posible ejecutar condigo php desde un boton?

Submit envía el formulario, para eso está hecho.

Button no, button sólo es un botón que hace lo que le digas que haga, obviamente lo que haga debe ser una acción javascript, que debes definir.

No revivas post tan antiguos, abre uno nuevo.
  #11 (permalink)  
Antiguo 22/06/2012, 12:07
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: es posible ejecutar condigo php desde un boton?

Gracias ocp001a entonces no podre ejecutar una serie de acciones PHP con un <input type="button"> sino que necesariamente tedra que ser Submit. ?
  #12 (permalink)  
Antiguo 22/06/2012, 12:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: es posible ejecutar condigo php desde un boton?

A ver, los botones no ejecutan acciones simplemente activan en el caso del submit el envío del formulario hacia determinado destino.

Dicho destino es el que se encarga de ejecutar código dependiendo de lo que se recibes, así es como funciona el comportamiento cliente->servidor/request->response.

El navegador hace una petición (request) y el servidor devuelve una respuesta (response).

Ahora, los formularios no son los únicos que pueden crear peticiones, de hecho incluso el index.php es por si mismo una petición. Puede usar los parámetros de la URL para enviar diferentes datos y así actuar en consecuencia.

O también ejecutar otro script, etc.

Pero todo esto sucede de forma natural, es decir, recargando la pagina por cada petición.

Si lo que deseas es ejecutar acciones en el servidor sin recargar nada entonces necesitas usar Ajax para enviar peticiones en silencio. Hay muchas formas, mi favorita es UJS.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 22/06/2012, 12:45
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: es posible ejecutar condigo php desde un boton?

Una consulta adicional la siguiente estructura:
Código HTML:
Ver original
  1. <form action="1.php" method="post" name="frm1">
  2. <tr>
  3. <td>Numero1</td><td><input type="text" name="txt1"></td><td>[B]Aqui mensaje PHP[/B]</td>
  4. </tr>
  5. <tr>
  6. <td>Numero2</td><td><input type="text" name="txt2"></td><td>[B]Aqui mensaje PHP[/B]</td>
  7. </tr>
  8. <tr>
  9. <td colspan=3><input type="submit" value="Enviar"></td>
  10. </tr>

El punto es que al validar si los campos son numericos o no salga el mensaje en la celda de la tabla un mensaje de "Valido" o "Invalido". Y que adicionalmente es cambie cuando ingreses el valor correcto.

Podrian ayudarme a como disgregar estos mensajes y mostrarlos en diversos partes segun como lo necesite.

Gracias.
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:17.