Ocultar paso de variables por url [php]

eXtreM3

Wenas a todos! Tengo una miniduda, a ver si se puede hacer.

Tengo dos páginas .php, la primera es como una calculadora, llamemoslo calculadora.php, donde se rellenarán 3 textbox (edad, talla y peso) y habrá un botoncito que sea Calcular. Despues de realizar las comprobaciones pertinentes te lleva a la página resultado, llamemosla resultado.php, donde, según los valores introducidos en la pagina anterior, pues mostrará un resultado u otro.

El tema es, que haciendolo de manera super sencilla es pasar por url los parámetros, y hacer los cálculos en resultado.php?edad=22&talla=170&peso=70, esto es extremadamente sencillo y resulta "feo"... aunque es una opción válida por supuesto.

Mi pregunta es, hay alguna manera (seguro que la hay pero yo no se xD) de evitar poner los valores que se introdujeron en calculadora.php en la url??, es decir, que cuando le des a Calcular y te redireccione, la url ponga algo así: "http://mipagina.com/resultado.php"

Graciasssssssssss un saludo

1
Tunnecino

Se me ocurre que, si es una vez solo el cálculo podrías usar post al enviar los datos a la otra página, en hidden y sacarlos mediante $_POST en resultado.php (tu lo envías por GET por lo que veo).

Tengo otras formas de hacerlo, pero como tampoco das más detalles de como tienes estructurado el código.

Saludos

eXtreM3

Emmmm... una pregunta rapida, si en el action del form (donde están los 3 textbox) pongo resultado.php ... podría hacerse eso que digo? los calculos se harian en calculadora.php una vez que presiono el botón... y luego simplemente redireccionar y mostrar, se podria?

edit: coño, en hidden es verdad :D

1
SeiYa

a ver, el form con method="post" y recoges en lugar de con $GET con $POST

erdanblo

Hazlo con jQuery.

RdNN

haber, en el action del formulario tienes que ponerle el nombre del documento por ejemplo el que recoge los datos sera "calculadora.php" y el otro "resultado.php", vale hasta ahi bien. Despues para pasar los datos, o bien puedes hacerlo mediante sesiones o por parametros con $_GET.
y para que el boton te funcione tienes que ponerle un name, despues tienes que hacer un if para especificar que quieres que haga ese boton:

if (isset($_REQUEST['acepto'])) {

sentencias....

}

si quieres que le eche un ojo dimelo por mp.

Soltrac

Tienes 400 formas de hacerlo, pero la más sencilla es q cambies GET por POST como te dicen por arriba.

eXtreM3

Ya lo conseguí, es que hice la pregunta sin haberlo intentao primero, porque me surgió mentalmente y no sabía si me iba a salir.

Lo más simple es poner en el action del form que lo envíe a la otra página, y ya está. Luego en la otra página:

$txtPeso = $POST['txtPeso'];
$txtEdad = $
POST['txtEdad'];
$txtTalla = $_POST['txtTalla'];

y a volar, tan sencillo como eso.

dagavi

Dicho de otra forma, que no te has enterado de nada de lo que te han respondido. Porque lo pones como si lo hubieras descubierto tu y si miras el post es lo que te han estado diciendo que hagas (incluso encima de tu segunda respuesta)

eXtreM3

#9 hola? me he leido una y cada una de las respuestas, no lo he puesto como si lo hubiera descubierto yo, que de hecho ya sabía hacerlo, pero en ningún momento he pasao de las respuestas que me han dao ni nada. Y claro que me enteré de lo que me decían, lo q pasa es q ayer estaba un poco con las ideas obstruidas.

Así que eso, gracias a todos los q respondieron intentando ayudarme ;), menos a #9, cuyo unico objetivo es meter mierda, ni caso.

bLaKnI

Hace poco que programas en el mundo web, ¿cierto?

kolka

Me extraña que nadie lo haya dicho... Pero el mod_rewrite también puede ser la solución. No las oculta del todo pero no queda mal:

http://www.peoplecnc.com/mod_rewrite_avanzado.html

MaKi

Para cada cosa tiene su uso:

Si es un formulario de rellenar y enviar -> POST (simplemente en el action del FORM)
Si es una web dinámica -> adornar la url con mod_rewrite (modificando el .htaccess)
Si necesitas mantener el valor de alguna variable -> Sesiones (con $_SESSION['variable'] = 'valor')

eXtreM3

#11 bueno... relativamente poco, en verdad ha sido un hilo estúpido, pensando un poco lo habría sacao.

#13 yeah! era el 1er caso lo que necesitaba, de hecho en mi caso en particular era bastante sencillo de aplicar, simplemente en el action del form se pone la otra página (la destino) y ya está, en ella se hace toda la programación.

Si quereis verlo, esto más o menos era el resultado que quería conseguir:

Calculadora SLOW NES

Gracias!!

Usuarios habituales

  • eXtreM3
  • MaKi
  • kolka
  • Soltrac
  • RdNN
  • erdanblo
  • Tunnecino