Foros del Web » Programando para Internet » PHP »

Botón para ir a otra página pasando un parámetro

Estas en el tema de Botón para ir a otra página pasando un parámetro en el foro de PHP en Foros del Web. Buenas, en mi pagina index.php tengo un boton definido así: <input id="resumen" type="button" name="Consultar" value="Resumen del año"> Mi intención es que al pulsar el botón ...
  #1 (permalink)  
Antiguo 13/05/2014, 09:39
 
Fecha de Ingreso: abril-2013
Mensajes: 36
Antigüedad: 11 años, 7 meses
Puntos: 0
Botón para ir a otra página pasando un parámetro

Buenas, en mi pagina index.php tengo un boton definido así:

<input id="resumen" type="button" name="Consultar" value="Resumen del año">

Mi intención es que al pulsar el botón se vaya a resumen.php pasando ademas una variable

$COD_CLIENTE_IMPUTACION

que utilizaré en resumen.php para seguir ejecutando consultas a mi base de datos.


¿Que mas tengo que poner en la definicion de mi botón?


Tengo entendido que se hace con SESIONES, al principio de mi documento index.php tengo esto

<?php
session_start();
ob_start();
$COD_CLIENTE_IMPUTACION = $_POST['COD_CLIENTE_IMPUTACION'];
$_SESSION['resultado']=$COD_CLIENTE_IMPUTACION;
?>


($COD_CLIENTE_IMPUTACION lo recibo de un formulario en un intro.php anterior al index.php)

he intentado modificar mi boton y he puesto esto

<input id="resumen" type="button" name="Consultar" value="Resumen del año" onclick = "location='/http://localhost/DB_php/sin_frame/PHP/resumen_v2.php'">


Pero al pulsarlo me sale


Forbidden

You don't have permission to access /http://localhost/DB_php/sin_frame/PHP/resumen_v2.php on this server.

Apache/2.2.8 (Win32) PHP/5.2.6 Server at localhost Port 80





¿Alguien me ayuda a resolverlo?


Muchas Gracias de nuevo!!!!
  #2 (permalink)  
Antiguo 13/05/2014, 09:47
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Boton para ir a otra pagina pasando un parámetro

1) "/http:/..." estas poniendo una barra al principio de la url que no va.
2) si bien puedes emular con el onclick de un boton, te sugeriria usar una etiqueta "a" comun, si quieres que se vea como un boton, la disfrazas con css, pero si lo que quieres es un enlace no tiene mucho sentido poner un boton. (aunque a efectos practicos, funcione)

por lo demas, si en la pagina A guardas un valor en la session y luego vas a la pagina B por medio de un enlace o bien de un boton, en ella tendras disponible la variable que guardaste previamente
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 13/05/2014, 09:59
Avatar de javier0730  
Fecha de Ingreso: enero-2010
Ubicación: Jalisco
Mensajes: 82
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: Boton para ir a otra pagina pasando un parámetro

Que tal lolo435

Dices que recibes del archivo intro.php el valor de COD_CLIENTE_IMPUTACION, el cual almacenas en una variable, pues puedes pasar los valores de variables usando campos ocultos dentro de tu formulario, algo como esto:

Página index.php

Código HTML:
Ver original
  1. <form action="resumen.php" method="post">
  2.   <input id="resumen" type="button" name="Consultar" value="Resumen del año">
  3.  
  4.   <input type="hidden" name="cod_cliente" value="<?php echo $COD_CLIENTE_IMPUTACION; ?>" >
  5.  
  6.   <input type="submit" value="Enviar">
  7. </form>

Y en el otro archivo que tu llamas resumen.php recuperas los valores y los guardas en variables:

Código PHP:
Ver original
  1. $var1=$_POST['Consultar'];
  2. $var2 = $_POST['cod_cliente'];

Puedes usar esta opción o seguir intentando con variables de sesión que también es válido, yo prefiero usar variables de sesión cuando tengo varios archivos y en todos necesito el mismo valor, pero cuando solo lo ocupo en dos o 3 pues uso este método.

Saludos
  #4 (permalink)  
Antiguo 14/05/2014, 01:13
 
Fecha de Ingreso: abril-2013
Mensajes: 36
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Botón para ir a otra página pasando un parámetro

Ya lo he solucionado, os digo que he hecho

tengo tres archivos:

intro.php
index.php
resumen.php


En intro.php hay un campo donde se introduce el código del cliente.
Este campo se recibe en index.php, donde se utiliza para realizar consultas a la db

En el inicio de index.php tengo este codigo, donde se evalúa si el coodigo del cliente proviene de intro.php, o si viene de la sesion con resumen.php

<?php
session_start();
ob_start();
$COD_CLIENTE_IMPUTACION = $_POST['COD_CLIENTE_IMPUTACION'];

//echo $COD_CLIENTE_IMPUTACION;

if (empty($COD_CLIENTE_IMPUTACION)) {

$COD_CLIENTE_IMPUTACION = $_SESSION['resultado'];

} else {

$_SESSION['resultado']=$COD_CLIENTE_IMPUTACION;

}



?>


donde almaceno el valor del cliente dependiendo de si viene por el post, o por la sesion,

Despues en index.php tengo dos botones ( donde ambos van a pasar el valor del $COD_CLIENTE_IMPUTACION a dos ficheros php, de momento solo tengo hecho resumen.php)

Estos son mis dos botones

<input id="alta_baja" type="submit" name="COD_CLIENTE_IMPUTACION" value="Altas y bajas" onClick="location.href='altas_bajas.php'">

<input id="resumen" type="button" name="Consultar" value="Resumen del año" onClick="location.href='resumen_v2.php'">

de momento solo tiene funcionalidad el segundo boton que redirige a resumen.php que comienza asi:

<?php
session_start();
ob_start();
$COD_CLIENTE_IMPUTACION = $_SESSION['resultado'];
?>

y donde tb tengo definido un boton que redirecciona a index.php


<input id="resumen" type="Submit" name="Consultar" value="Volver a resumen mes" onClick="location.href='index.php'">




Funcionar, funciona perfectamente veis algo raro???

Podria iniciar dos sesiones en index.php y ''jugar'' con parametros distintos??

Como identifico las sesiones??

Un saludo y muchas gracias de nuevo!

Etiquetas: boton, formulario, pasando, variable
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 15:05.