Programación en castellano
Inicio > Foros > PHP > Como puedo crear un formulario con varios botones y que cada boton ejecute un programa php
-Foros de debate

PHP
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Como puedo crear un formulario con varios botones y que cada boton ejecute un programa php
Enviado por principiantePHP el día 14 de junio de 2003

saludos.
Estoy creando una serie de scripts para las tareas basicas de crear, modificar y borrar registros... hasta ahora tengo cada programa por separado y queria crear un solo formulario y debajo una serie de botones que me llamen o ejecuten cada programa, para manipular los datos que se muestran en el formulario.¿Como puedo hacer esto? no puedo con varios input type=submit ¿cierto?
gracias.

 
Re: Como puedo crear un formulario con varios botones y que cada boton ejecute un programa
Enviado por Cristian el día 17 de junio de 2003

Tienes que hacerlo así:

<form action=\"pagina1.php\" method=\"post\">
<input type=\"submit\" value=\"Boton2\">
</form>
<form action=\"pagina2.php\" method=\"post\">
<input type=\"submit\" value=\"Boton1\">
</form>

Es decir ... crear un formulario para cada boton ...

Ojala te sirva


Chao.

 

Re: Como puedo crear un formulario con varios botones y que cada boton ejecute un programa
Enviado por Omar Col el día 17 de junio de 2003

Me parece que es un poco mas lo que necesitas lo siguiente:

En cualquier parte del archivo donde esta el formulario defines un script que haga dinamico el direccionamiento del evento a disparar, algo asi:

<script>
function nombre_funcion(proceso,formul)
{
var x=esc(formul.nombre_variable_formulario.value);
... tantas variables como vayas a pasar por la URL;
// lo que sigue es lo importante
location=proceso+'?nombre_variable='+x+'&otra_variable='+valor_otra_variable;
}</script>

Claros hasta ahi ??

Ahora en el formulario:

<form name='nombre_formulario'>
<input type ... nombre de la variables a pasar>
<input type=... otra variable a pasar>
<--! OJO AQUI
<input type=button value=... name=... onclick=nombre_funcion('PROCESO.PHP',this.form)>
<input type=button value=... name=...
onclick=nombre_funcion('OTRO_PROCESO.PHP',this.form>
</form>

nombre_funcion=el que quiera (debe ser el mismo en el script y en el formulario)
proceso.php y otro_proceso.php son los php que va invocar en cada onclick diferente.

La verdad, si me entiende y lo escribe correctamente, funciona, este metodo lo utilizo en todo lo que hago.

Ahora si no me entiende, envieme un mail y le explico mas detalladamente.

Suerte

 
Re: Re: Como puedo crear un formulario con varios botones y que cada boton ejecute un prog
Enviado por marco duarez el día 15 de octubre de 2003

la mejor forma de aprender es enseñar y sobre todo con algun ejemplo...claro y conciso alli te va...

<?
include("conexion.php");
$hddaccion = $HTTP_POST_VARS['hddaccion'];
$caja = $HTTP_POST_VARS['caja'];
$tablename = $HTTP_POST_VARS['tablename'];
$formularionombre = $HTTP_POST_VARS['formularionombre'];
$txtcodigo = $HTTP_POST_VARS['txtcodigo'];
$txtarea = $HTTP_POST_VARS['txtarea'];

///*****************
function ultimoregistro($tablename)
{
global $conexion;
global $tablename;
// preparacion y ejecucion de la consulta
$cadsql="select * from autonum where tabla='$tablename'";
$cursorautonum= mysql_query($cadsql, $conexion);
// obteniendo el numero de filas del cursor
$num_filas=mysql_num_rows($cursorautonum);
// obteniendo el numero de campos(atributos o columnas) del cursor
$num_campos=mysql_num_fields($cursorautonum);
// recorrido del cursor y obtenemos la siguiente fila que nos interesa
while($lista=mysql_fetch_array($cursorautonum))
{
$ultreg=$lista['numero'];
$ultreg=$ultreg+1;
}
return $ultreg;
}
//********************/

function guardar()
{
global $conexion,$hddaccion,$caja;
global $tablename,$formularionombre;
global $txtcodigo,$txtarea;
// si el area es NUEVO
$ultreg= ultimoregistro("area");
$cadactautonum="update autonum set numero=$ultreg where tabla='$tablename'";
$cursorautonum=mysql_query($cadactautonum);
$cadacttabla="insert into $tablename(codigo,descripcion) values($ultreg,'$txtarea')";
echo $cadacttabla;
$cursortabla=mysql_query($cadacttabla);
}

function agregarfilagrid()
{
global $conexion;
global $caja;
$cadsql_consulta = "select codigo, descripcion from area;";
$cursor_consulta = mysql_query($cadsql_consulta);
while ($row = mysql_fetch_array($cursor_consulta))
{
echo "<tr onclick='javascript: Marca(this, ".$row["codigo"].", \"".$row["descripcion"]."\")'> \n";
echo "<td><input type='hidden'>".$row["codigo"]."</td>\n";
echo "<td>".$row["descripcion"]."</td> \n";
echo "</tr> \n";
}
}

function actualizar()
{
global $conexion,$hddaccion,$caja;
global $tablename,$formularionombre;
global $txtcodigo,$txtarea;
// si el area es modificada
$cad_modificatabla="update $tablename set descripcion='$txtarea' where codigo=$txtcodigo";
echo $cad_modificatabla;
$cursor_modificatabla=mysql_query($cad_modificatabla);
}

function borrar()
{
global $conexion,$hddaccion,$caja;
global $tablename,$formularionombre;
global $txtcodigo,$txtarea;
$cad_eliminaregistro = "delete from $tablename where codigo=$txtcodigo and descripcion='$txtarea'";
$cursor_eliminaregistro = mysql_query($cad_eliminaregistro);
}

?>
<html>
<head>
<title>ISIGROUP - CONFIGURACION - AREAS DE LA EMPRESA</title>
<link href='isigroup.css' rel='stylesheet' text='text/css'>
<script language="Javascript">
<!--
var IE4 = (document.all) ? true : false;
var lineaMarcada = "";

function CCA(CB)
{
if (CB.checked)
hL(CB);
else
dL(CB);
}

function hL(E)
{
if (IE4)
while (E.tagName!="TR") {E=E.parentElement;}
else
while (E.tagName!="TR") {E=E.parentNode;}
E.className = "H";
}

function dL(E)
{
if (IE4)
while (E.tagName!="TR") {E=E.parentElement;}
else
while (E.tagName!="TR") {E=E.parentNode;}
E.className = "";
}

function Marca(obj, intCodigo, strDescripcion)
{
if(lineaMarcada != "")
dL(lineaMarcada);
lineaMarcada = obj;
hL(obj);
window.document.formulario_area.txtcodigo.value = intCodigo;
window.document.formulario_area.txtarea.value = strDescripcion;
}
/////////////////////
function nuevo()
{
window.document.formulario_area.hddaccion.value="nuevo";
window.document.formulario_area.txtcodigo.disabled = true;
window.document.formulario_area.txtcodigo.value = '0';
window.document.formulario_area.txtarea.value = '';
}

function grabar()
{
var lcarea;
window.document.formulario_area.hddaccion.value="grabar";
lcarea=window.document.formulario_area.txtarea.value;
lccadena=lcarea.length;
if (lccadena==0)
{
alert("Debe de Ingresar el nombre del area");
}
else
{
enviar();
}
}

function enviar()
{
var respuesta=confirm("Acepta sus Datos");
if(respuesta==true)
{
window.document.formulario_area.submit();
}
}

function modificar()
{
window.document.formulario_area.hddaccion.value="modificar";
lcarea=window.document.formulario_area.txtarea.value;
lccadena=lcarea.length;
if (lccadena==0)
{
alert("Debe de Ingresar el nombre del area de la empresa");
}
else
{
if(confirm(" ¿ Realmente desea modificar los datos ? "))
window.document.formulario_area.submit();
}
}

function eliminar()
{
window.document.formulario_area.hddaccion.value = "eliminar";
if(confirm("¿ Está seguro de eliminar los registros ?"))
window.document.formulario_area.submit();
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<p><font color="#000066"><font face="Arial, Helvetica, sans-serif"><strong>DATOS DEL AREA</strong></font></font></p>
<form name="formulario_area" method="post" action="fingreso_area_plus.php" enctype="multipart/form-data">
<table width="600" height="100" border="1" bordercolor="#000066">
<tr>
<td width="100" bgcolor="#000066">
<div align="center"><b><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">CAMPO</font></b></div>
</td>
<td width="260" bgcolor="#000066">
<div align="center"><b><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">DATOS A INGRESAR</font></b></div>
</td>
</tr>
<tr>
<td width="100"><font color="#000066" size="2" face="Arial, Helvetica, sans-serif">Codigo</font></td>
<td width="260">
<?
$ultreg= ultimoregistro("area");
echo" <input type='text' name='txtcodigo' value='' ReadOnly (Default)>";
?>
</td>
</tr>
<tr>
<td width="100"><font color="#000066" size="2" face="Arial, Helvetica, sans-serif">Area</font></td>
<td width="260"> <input name="txtarea" type="text" id="area" size="40" maxlength="40"></td>
</tr>
<tr>
<td width='100%' colspan="2"><div align='center'>
<input name='search' type='button' value='Buscar' onClick="">
<input name='new' type='button' value='Nuevo' onClick='javascript: nuevo();'>
<input name='save' type='button' value='Guardar' onClick='javascript: grabar();'>
<input name='update' type='button' value='Modificar' onCLick='javascript: modificar();'>
<input name='delete' type='button' value='Eliminar' onClick='javascript: eliminar();'>
<input name='deshacer' type='reset' value='Deshacer'>
<input name='exit' type='button' value='Salir' onClick="window.close();">
<input type='hidden' name='hddaccion'>
<input type='hidden' name='tablename' value='area'>
<input type='hidden' name='formularionombre' value='fingreso_area_plus.php'>
</div></td>
</tr>
</table>

<table width='60%' border='1'>
<tr bordercolor='#CCCCCC' bgcolor='#000066'>
<td width='10%'><div align='center'><font color='#FFFFFF' size='2' face='Arial, Helvetica, sans-serif'>Codigo</font></div></td>
<td width='30%'><div align='center'><font color='#FFFFFF' size='2' face='Arial, Helvetica, sans-serif'>Area</font></div></td>
</tr>

<?

switch ($hddaccion)
{
case 'grabar':
guardar();
break;
case 'modificar':
actualizar();
break;
case 'eliminar':
borrar();
break;
}
agregarfilagrid();
?>
</table>
<!-- </table> -->
</form>
</center>
</body>
</html>

 


Re: Como puedo crear un formulario con varios botones y que cada boton ejecute un programa
Enviado por DiegoSolo el día 8 de mayo de 2004

Es un quilombo, no entendí nada de lo anterior, pero la mejor forma es hacer varios submits. La idea es que si necesitás que todos los valores del formulario vayan a la página siguiente, no tesirve que hagas varios formularios diferentes. Entonces lo que tenés que hacer es definir tantos submits como necesites en el mismo form, así:

echo "<input type=submit value=\"Ir a página 1\" name=pagina1>";
echo "<input type=submit value=\"Ir a página 2\" name=pagina2>";
echo "<input type=submit value=\"Ir a página 3\" name=pagina3>";

Entonces, en el formulario que recibe la variable $_POST identificás qué botón se apretó de acuerdo al nombre que tengas, por ej:

if ($_POST["pagina1"])
{
//Ejecutar Página 1
}
if ($_POST["pagina2"])
{
//Ejecutar Página 2
}
if ($_POST["pagina3"])
{
//Ejecutar Página 3
}

Bueno... ahí tienen, creo que es la forma más fácil y la mejor. Espero les sirva, suerte...

 
Re: Re: Como puedo crear un formulario con varios botones y que cada boton ejecute un prog
Enviado por victor el día 13 de febrero de 2006

Estaba buscando información sobre el tema que se esta tratando en este topic y quiero agradecerte por dar la mejor solución al problema expuesto, la verdad no puedo entender a varias personas que intentan ayudar pero al final complican mas las cosas metiendo java script o definiendo funciones para algo tan simple, quizas solo buscan demostrar mayor conocimiento en la programación y prefieren copiar y pegar un código en vez de explicarlo. A mi personalme se me resolvio el problema y puedo seguir programando mi pequeño sistema, Gracias.

 
Re: Re: Re: Como puedo crear un formulario con varios botones y que cada boton ejecute un
Enviado por Marco Duarez el día 18 de marzo de 2008

Considero que es importante empezar por lo más básico, pero eso no significa de que nos conformemos con quedarnos allí, inmersos en ese nivel. Si se ha hecho un script de cliente como javacript es para utilizarlo también. No pretendamos hacerlo todo con php. Pues a simple vista parece muy engorroso pero tiene su porqué. Si uno mismo trabaja sólo con PHP lo que está ignorando es que está agregando al servidor tareas que fácilmente pueden realizarse desde el cliente, como por ejemplo validaciones, una verificación del formato de datos a ingresar, impresión de la fecha y hora del cliente, dibujo de botones, etc, etc. Es cierto que éstas cosas se pueden hacer con PHP, pero lo que no es correcto es que tareas sencillas que deberían ser realizadas por el cliente sean efectuadas por el servidor, para eso existen otras herramientas como el javascript.
Para ello entonces es importante también INVESTIGAR y conforme vaya avanzando en el nivel de programación ir encontrando que es lo que me quiere decir la persona que me está tratando de ayudar y no reprocharle la ignorancia propia que se tiene.
Así que recomiendo que también usen Javascript en sus programas de PHP

 




Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: juegos gratis | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | decoración web | gifs animados