Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: dimitrix en 28 Junio 2011, 01:54 am



Título: Dos forms en uno
Publicado por: dimitrix en 28 Junio 2011, 01:54 am
(http://img197.imageshack.us/img197/8569/hackgx.jpg)

Tengo el siguiente formulario y con dos botones diferentes.

El problema es que necesito que vayan a direcciones diferentes cada uno de los botones y no se como hacerlo...


Gracias.


Título: Re: Dos forms en uno
Publicado por: Devilboy.Devil en 28 Junio 2011, 02:00 am
(http://img197.imageshack.us/img197/8569/hackgx.jpg)

Tengo el siguiente formulario y con dos botones diferentes.

El problema es que necesito que vayan a direcciones diferentes cada uno de los botones y no se como hacerlo...


Gracias.

crea los botones de tipo button y no sumbit y dale el code javascript en el evento onclick de la sig forma

onClick="window.location='pagina.php'"


Título: Re: Dos forms en uno
Publicado por: raul338 en 28 Junio 2011, 02:14 am
pon un php de intermediario

Código
  1. switch($_POST["botonSubmit"]) {
  2.   case "Cambiar clientes de grupo":
  3.         include "Cambiar_group.php"; // xD
  4.         break;
  5.   case "Gestionar clientes seleccionados":
  6.         include "gestion.php";
  7.         break;
  8. }
  9.  


Título: Re: Dos forms en uno
Publicado por: dimitrix en 28 Junio 2011, 10:19 am
Muchas gracias a los dois, me gustó las dos ideas.


Título: Re: Dos forms en uno
Publicado por: dimitrix en 28 Junio 2011, 23:43 pm
Devilboy.Devil estaba probando el tuyo pero no se me envía los elementos seleccionados :-()


Título: Re: Dos forms en uno
Publicado por: Devilboy.Devil en 29 Junio 2011, 00:47 am
Devilboy.Devil estaba probando el tuyo pero no se me envía los elementos seleccionados :-()


puedes pasar los elementos por url y capturarlos con un get

Código:
onclick="window.location='pagina.php?nombre=<?php echo $nombre; ?>&apellido = <?php echo $apellido; ?>&etc...'"

y en la pagina.php capturas los elementos con un get

Código:
$nombre = $_GET['nombre'];


Título: Re: Dos forms en uno
Publicado por: ~ Yoya ~ en 29 Junio 2011, 01:05 am
Ya deberías ir aprendiendo javascript.


Título: Re: Dos forms en uno
Publicado por: dimitrix en 29 Junio 2011, 01:27 am
Devilboy.Devil eso que me pusiste no me sirve, pero ya lo hice, gracias de todos modos :-)

Ya deberías ir aprendiendo javascript.

Joder, pues ya lo creo la verdad, me compré unos libros pero pensé que desaparecería y que el JS era más para 'diseñador' no programador.

Pero ciertamente tengo que leerme algún tuto.


Título: Re: Dos forms en uno
Publicado por: Devilboy.Devil en 29 Junio 2011, 02:51 am
Devilboy.Devil eso que me pusiste no me sirve, pero ya lo hice, gracias de todos modos :-)

Joder, pues ya lo creo la verdad, me compré unos libros pero pensé que desaparecería y que el JS era más para 'diseñador' no programador.

Pero ciertamente tengo que leerme algún tuto.

xq no te sirve???


Título: Re: Dos forms en uno
Publicado por: raul338 en 29 Junio 2011, 03:15 am
Devilboy.Devil, es mejor hacer que se envie el formulario a redireccionar la pagina.

No necesariamente debes usar javascript, hay quienes deshabilitan scripts y ahi tu pagina seria un FAIL :xD


Título: Re: Dos forms en uno
Publicado por: bomba1990 en 29 Junio 2011, 03:20 am
oye, con javascript para cambiar el action donde se envia un formulario es de esta manera:

Código
  1. <SCRIPT language="javascript">
  2. function OnSubmitForm()
  3. {
  4. if(document.pressed == 'Insert')
  5. {
  6. document.myform.action ="insert.html";
  7. }
  8. else
  9. if(document.pressed == 'Update')
  10. {
  11. document.myform.action ="update.html";
  12. }
  13. return true;
  14. }
  15. </SCRIPT>
  16. <FORM name="myform" onSubmit="return OnSubmitForm();">
  17. Name: <INPUT TYPE="TEXT" Name="name"><br>
  18.  
  19. Email: <INPUT TYPE="TEXT" Name="name"><br>
  20. <INPUT TYPE="SUBMIT" name="Operation" onClick="document.pressed=this.value" VALUE="Insert">
  21. <INPUT TYPE="SUBMIT" name="Operation" onClick="document.pressed=this.value" VALUE="Update">
  22. </FORM>
  23.  
  24.  
  25.  

De aqui lo saque, aunque es mejor enviarlos a un mismo archivo y que el archivo identifique cual de los dos se marco, por si a las msocas esta desacticado el javascript
http://www.javascript-coder.com/files/form-action/html-form-action-example1.html (http://www.javascript-coder.com/files/form-action/html-form-action-example1.html)


Título: Re: Dos forms en uno
Publicado por: madpitbull_99 en 29 Junio 2011, 19:33 pm
La solución de bomba1990 es válida.

Pero si quieres hacerlo con PHP se hace de la siguiente manera:

form.html
Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta name="author" content="MadPitbull_99" />
  5. <title>Two Forms in One</title>
  6. </head>
  7. <form action="twoFormsInOne.php" method="post">
  8. <input type="text" name="valor" value="" />
  9. <input type="submit" value="borrar" name="submit" />
  10. <input type="submit" value="actualizar" name="submit" />
  11. </form>
  12. </body>
  13. </html>



twoFormsInOne.php

Código
  1. <?php
  2. if ($_POST) {
  3. if ($_POST['submit'] == "actualizar") {
  4. echo "Voy a actualizar el valor {$_POST['valor']} . ";
  5. } else {
  6. echo "Voy a borrar el valor {$_POST['valor']}. ";
  7. }
  8. }
  9.  
   

Es así de sencillo, algo parecido a lo que ha sugerido raul338. Claramente hay que adaptarlo a tu script, lo mío es solo un ejemplo.


Título: Re: Dos forms en uno
Publicado por: dimitrix en 29 Junio 2011, 20:03 pm
madpitbull_99  lo hice así pero con un control de errores.