Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Doble función para un Button php

Estas en el tema de Doble función para un Button php en el foro de PHP en Foros del Web. Hola a todos!, tengo una duda y es la siguiente: tengo un botón que quiero que cumpla dos funciones: incluya un php que envía un ...
  #1 (permalink)  
Antiguo 12/11/2014, 06:57
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Doble función para un Button php

Hola a todos!, tengo una duda y es la siguiente:
tengo un botón que quiero que cumpla dos funciones: incluya un php que envía un Email y sirva de link para salir de ese formulario... cada cosa la sé hacer, más ahora que quiero hacerlas juntas solo funciona el enlace... este es mi código:

Código PHP:
Ver original
  1. <input type="button" name="btn1" value="Terminar" onClick=" window.location.href='listado.php' " />

y esta es la línea con la que incluyo el php de mails:

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST["btn1"])){
  3.     $btn=$_POST["btn1"];
  4.  
  5.     if($btn=="Terminar"){
  6.        
  7.         include("mailtools.php");
  8.                
  9.     }
  10.     }
  11. ?>

Qué pasa que no cumple las dos funciones, y yo necesito eso... Gracias por su colaboración de antemano!
  #2 (permalink)  
Antiguo 12/11/2014, 07:12
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 9 años, 6 meses
Puntos: 12
Respuesta: Doble función para un Button php

Hola Jlopez2014, el button esta dentro de un formulario?
__________________
http://www.sp-vision.net
  #3 (permalink)  
Antiguo 12/11/2014, 07:14
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Doble función para un Button php

Probá mandando la variable por GET:

Código HTML:
<input type="button" name="btn1" value="Terminar" onClick=" window.location.href='listado.php?btn1=Terminar' " /> 
Por POST no tenés manera ya que estás redirigiendo con JS y no enviando un formulario. Si no, podrías hacer un input de tipo submit y en el action de tu form ponerle listado.php.

Código HTML:
<form action="listado.php" method="post">
  <input type="text" name="unInput" />
  <input type="submit" name="btn1" value="Terminar" />
</form> 
Ahí sí se enviaría por POST como quieres. El resultado visual va a ser el mismo que ahora, ya que estás redirigiendo con JS a otro archivo.
En listado.php podés hacer el include del envío de mail.

Saludos
  #4 (permalink)  
Antiguo 12/11/2014, 07:32
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Doble función para un Button php

hola, el botón está dentro de un formulario y es más, hasta lo coloqué en uno aparte y nada... sigue funcionando como enlace más no incluye el php de mail...
  #5 (permalink)  
Antiguo 12/11/2014, 07:49
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Doble función para un Button php

Leíste lo que te puse? Estás mandando el formulario con JS a la página listado.php, eso es por GET. Y estás tratando de levantar la variable btn1 por POST.

Nunca te va a llegar. Fijate de implementar alguna de las alternativas que te comenté.
  #6 (permalink)  
Antiguo 12/11/2014, 08:05
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Doble función para un Button php

si, ya probé por el GET y tampoco funciona; de manera provisional hice esto... que dicen al respecto?:

Código PHP:
Ver original
  1. <input type="submit" name="btn1" value="Terminar" />

con esto:

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST["btn1"])){
  3.     $btn=$_POST["btn1"];
  4.  
  5.     if($btn=="Terminar"){
  6.        
  7.         include("mailtools.php");
  8.     echo "<script> alert('Se inserto correctamente el pedido');
  9. window.location='listado.php';</script>";          
  10.     }
  11.     }  
  12. ?>
  #7 (permalink)  
Antiguo 12/11/2014, 08:08
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Doble función para un Button php

Pero por qué no hacés directamente que tu formulario vaya a listado.php y ahí recoges las variables e incluyes el php del mail?
  #8 (permalink)  
Antiguo 12/11/2014, 08:19
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Doble función para un Button php

Hola GeekGirl lo que pasa es que en listado.php esta la lista de proyectos activos de "X" empresa a los cuales se les puede realizar solicitudes de herramientas requeridas, entonces el orden sería... listado (se selecciona el proyecto), herramientas.php (se solicitan todas las que se deseen pero en un formulario que tiene campos para llenar datos para una herramienta y que al pedirla se refresca por si se desean mas), por eso el boton "terminar" para que cuando se solicite la cantidad que sea de herramientas, llegue al encargado un mail avisandole un nuevo pedido y así retorne quien lo ingreso nuevamente a listado.php para crear otro si lo desea...
  #9 (permalink)  
Antiguo 12/11/2014, 08:25
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Doble función para un Button php

En herramientas.php está el formulario? Y ese formulario se envía dentro de la misma plantilla? Lo que podés hacer entonces es hacer el input de tipo submit, el action dejarlo como lo tenías para que se recarge la página, levantar la variable por POST, enviar el mail, y una vez se envía el mail, hacé la redirección directamente con PHP:

Código PHP:
<?php
if(isset($_POST["btn1"])){
    
$btn=$_POST["btn1"];
 
    if(
$btn=="Terminar"){
        include(
"mailtools.php");
        echo 
"<script>alert('Se inserto correctamente el pedido');</script>";           
        
header("Location: listado.php");
    }
}   
?>
Una recomendación: en vez de embeber una etiqueta script con un alert, podrías insertar algún cuadro de inserción exitosa dentro del HTML usando PHP. Quedaría más prolijo.
Saludos
  #10 (permalink)  
Antiguo 12/11/2014, 08:49
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Doble función para un Button php

Gracias por la ayuda! ahora si está mejor... cualquier cosa a la orden en lo que pueda colaborar... los estaré molestando de nuevo pronto

Etiquetas: boton, include, links
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 05:31.