Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   como llamar una función en un botón (https://www.clubdelphi.com/foros/showthread.php?t=79791)

eli02 10-08-2012 19:56:47

como llamar una función en un botón
 
Buen dia, tengo el siguiente problema, necesito agregar un campo a un listbox y a mi bd para ello tengo una caja de texto y un botón donde llamo a una función para que realize la consulta de inserción pero no me funciona, no se si tendre mala la función.

la función es la siguiente:
Código PHP:

function agregar_uni(){
    
$universidad=$_POST["TXT_AgregarUni"];
    
$url=$_POST["TXT_Url"];
    
    
$queryuni="INSERT INTO `universidades`(`UNI_Id`, `UNI_Nombre`, `UNI_Url`) VALUES ('','$universidad','$url')";
    
$resultuniselect($queryuni);
    return 
$resultuni;


y el código del botón:
Código PHP:

 <input type="submit" name="BTN_Guardar2" id="BTN_Guardar2" value="Agregar" onclick="agregar_uni()"/> 

les agradeceria mucho su ayuda y su tiempo.

roman 10-08-2012 20:11:34

Estás cometiendo un error básico que muchos de nosotros cometimos cuando empezamos en esto.

Tienes que entender que el código PHP y el código HTML viven el lugares distintos, aunque se mezclen en el mismo archivo. Cuando el navegador recibe tu página HTML, ya el código PHP no existe, ese se queda en el servidor web. Entonces, desde un botón de tu página no puedes ejecutar directamente una función de php. Sólamente podrás ejecutar código javascript, que, ése sí, corre en el navegador.

Si no mal entiendo el código que pones, lo que tú tienes es un formulario con datos que vas a guardar en tu base. Entonces, lo que debes hacer es esto:

1. Quitar el evento onclick de tu botón. No lo necesitas.
2. En la definición del formulario pones la propiedad action para que apunte a un script php:

Código:

<form name='agregarUni' method='post' action='agregar-universidad.php'>
3. En este script mandas llamar tu función agregar_uni.

// Saludos

georkis 15-08-2012 15:08:42

Así mismo...
 
Tienes que usar AJAX... si quieres aprender y optimizar un poco te recomiendo jquery1.8 que ya viene incluido css3 automatizado jajaja y también que veas el manual en Desarrolloweb jajajaja

roman 15-08-2012 16:23:31

¿Qué tiene que ver ajax en esto?

// Saludos

Chris 15-08-2012 17:05:35

Cita:

Empezado por roman (Mensaje 439644)
¿Qué tiene que ver ajax en esto?

// Saludos

Nada. Hablar de Ajax es cómo hablar de optimización. No viene al caso por el momento, pero es algo a tener en cuenta una vez que el compañero eli02 domine y entienda el asunto.

Por cierto Román, muy buena la explicación de la diferencia del Código PHP y HTML estando en el navegador.

Saludos!

roman 15-08-2012 17:10:54

Cita:

Empezado por Chris (Mensaje 439654)
Nada. Hablar de Ajax es cómo hablar de optimización. No viene al caso por el momento, pero es algo a tener en cuenta una vez que el compañero eli02 domine y entienda el asunto.

De acuerdo. Ajax es javascript y sigue estando en el cliente (navegador). Siempre he pensado que se tiene la idea de que ajax es la panacea y quasi-mágico, siendo que no es otra cosa que una petición HTTP en segundo plano.

// Saludos


La franja horaria es GMT +2. Ahora son las 20:54:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi