Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: mysqlway en 12 Enero 2015, 23:00 PM

Título: Leer una variable post en una tercera página
Publicado por: mysqlway en 12 Enero 2015, 23:00 PM

Hola intento poner las etiquetas y de paso replanteo una duda anterior a ver si va y lo hago bien.

Os planteo la duda:

Tengo una página con un buscador a.php. Donde "envio" clase.

En la página b.php recupero la variable con POST

Código (php) [Seleccionar]
$usr = $_POST['clase'];   

¿Cómo pasaría o leería la variable usr desde otra tercera página? Es decir desde b.php le doy a un botón y me redirige a c.php. Desde aquí es donde quiero leer "$usr".

El botón es

Código (php) [Seleccionar]
<table width="200" border="0" align="center">
  <tr>
    <td> <a target="_blank" href="c.php" class="btn btn-danger">Exportar a PPF</a> </td>
  </tr>
</table>


Título: Re: Leer una variable post en una tercera página
Publicado por: xiruko en 12 Enero 2015, 23:26 PM
Podrías utilizar sesiones.

En b.php:
Código (php) [Seleccionar]
session_start();
$_SESSION['clase'] = $_POST['clase'];


en c.php:
Código (php) [Seleccionar]
session_start();
$usr = $_SESSION['clase'];


Saludos!
Título: Re: Leer una variable post en una tercera página
Publicado por: Shell Root en 13 Enero 2015, 13:12 PM
Otro form pero con campos hidden?
Título: Re: Leer una variable post en una tercera página
Publicado por: mysqlway en 13 Enero 2015, 17:19 PM
Hola creo que el form con campos hidden es lo que estaba buscando exáctamente (lo pruebo esta noche). Me genera una alegría cada vez que me sugerís una solución (que a vosotros os parece trivial) y yo pienso...claro...genial...es como un truco de magia increible que creía que no era posible...y sí...me encanta.

Abrazostes.
Título: Re: Leer una variable post en una tercera página
Publicado por: mysqlway en 14 Enero 2015, 00:19 AM
Mi gozo en un pozo.

He intentado todo.

La historia es que necesito sacar el resultado de una consulta con fpdf y en el fichero final c.php es donde tengo que leer $usr porque en la consulta indica WHERE clase=$usr

Pero no me "leer" usr aunque lo envie como hidden.

De hecho en realidad sí me lee

Código (php) [Seleccionar]
<input type="hidden" method="POST" name="valoroculto" value="$_POST['clase']">

Pero en el pdf de fpdf

cuando le digo
Código (php) [Seleccionar]
$pdf -> Cell(30,8, $_POST["valoroculto"], 0);
y
me "saca" literalmente $_POST['clase'] o literalmente $usr.

Sin embargo, en la página b.php sí interpreta como variable porque la consulta de la tabla si la hace.

A ver si me podeis echar un cable.



Título: Re: Leer una variable post en una tercera página
Publicado por: MinusFour en 14 Enero 2015, 00:27 AM
Código (php) [Seleccionar]

<input type="hidden" method="POST" name="valoroculto" value="<?php echo $_POST['clase']; ?>">


De lo contrario no interpreta la variable.
Título: Re: Leer una variable post en una tercera página
Publicado por: & eDu & en 14 Enero 2015, 00:56 AM
Fijate en lo que te ha dicho MinusFour, tu haces esto:

Código (php) [Seleccionar]
<input type="hidden" method="POST" name="valoroculto" value="$_POST['clase']">

Entonces $_POST['valoroculto'] es = $_POST['clase']

Debes hacer lo que te ha dicho MinusFour:

Código (php) [Seleccionar]
<input type="hidden" method="POST" name="valoroculto" value="<?php echo $_POST['clase']; ?>">
Título: Re: Leer una variable post en una tercera página
Publicado por: JorgeEMX en 14 Enero 2015, 06:15 AM
Cita de: mysqlway en 12 Enero 2015, 23:00 PM

El botón es

Código (php) [Seleccionar]
<table width="200" border="0" align="center">
  <tr>
    <td> <a target="_blank" href="c.php" class="btn btn-danger">Exportar a PPF</a> </td>
  </tr>
</table>




WTF! No sería tan sencillo cómo hacer:

Código (php) [Seleccionar]
<table width="200" border="0" align="center">
  <tr>
    <td> <a target="_blank" href="c.php?usr=<?php echo $usr?>" class="btn btn-danger">Exportar a PPF</a> </td>
  </tr>
</table>



En este caso en la página c.php recibirías usr desde get:

Código (php) [Seleccionar]

$usr = $_GET['usr'];