Llamar variable en php

Antes que nada un saludo y agradecimiento por el tiempo y la atención de leer mi pregunta.
Trabajo con xamp que como debes saber trae las aplicaciones de php y mysql.
Bien en un 1er código guardo le valor de una variable llamada tablaruso que es obtenido mediante una consulta que se metió en una lista desplegable. Pongo el código:
<html>
<head>
<title>EL RUSO</title>
</head>
<body bgcolor= "#040f01" text="#56dd21">
<h1><center>REFACCIONARIA Y CAMBIO DE ACEITE <br>"EL RUSO"</center></h1>
<br>
<hr width=500 size=4>
TABLAS DE LA BASE DE DATOS<br><br>
<?php
$link = mysql_connect("localhost", "root");
mysql_select_db("ruso", $link);
$dbname = "ruso";
$consulta = mysql_query("SHOW tables FROM $dbname where tables_in_ruso='aceite' or tables_in_ruso='auto' or tables_in_ruso='venta'
or tables_in_ruso='proveedor' or tables_in_ruso='producto' or tables_in_ruso='pedido';");
$num_rows = mysql_num_rows($consulta);
?>
<form action='inicioform.php' method='POST'>
<input type= 'submit' value='mostrar opciones'>
<select name="tablaruso">
<?php
for ($i = 0; $i < $num_rows; $i++)
        {
    $table = mysql_tablename($consulta, $i);
    echo "<option>".$table."</option>";
}
echo "</select>\n";
//echo "<input type='submit' value='Selecciona una tabla'></form>\n";
echo "
</table>
";
?>
</body>
</html>
************
Bien como t habrás dado cuenta llamo a un formulario en el cual sale una lista desplegable en la que aparece las operaciones que deseo que se le hagan a la tabla seleccionada en el primer código, pongo el código:
<html>
<head>
<title>EL RUSO</title>
</head>
<body bgcolor= "#040f01" text="#56dd21">
<h1><center>REFACCIONARIA Y CAMBIO DE ACEITE <br>"EL
RUSO"</center></h1>
<br>
<hr width=500 size=4>
OPCIONES DE <br>
<?php
$tablaruso=$_POST ['tablaruso'];
echo $tablaruso;
$link = mysql_connect("localhost", "root");
mysql_select_db("ruso", $link);
$dbname = "ruso";
?>
<br><br>
<form action='inicioform1.php' method='POST'>
<input type= 'submit' value='ejecutar'>
<select name="consulta">
echo "<option value='mostrar_tabla'>Mostrar toda la
tabla</option>
<option value='alta'>Alta</option>
<option value='baja'>Baja</option>
 </select>
</form>
</body>
</html>
***********
Mando llamar un tercer código en el que mando llamar la variable del primer código para saber a que tabla le voy a hacer la consulta sin embargo no me aparece esa variable, ¿por qué no puedo hacer que aparezca? ¿Es debido a que la variable que mando llamar estaba en el 1er código y no en el anterior? Pongo código:
<html>
<head>
<title>Catalogo aceite</title>
</head>
<body bgcolor= "#040f01" text="#56dd21">
<h1><center>REFACCIONARIA Y CAMBIO DE ACEITE <br>"EL
RUSO"</center></h1>
<br>
<hr width=500 size=4>
TABLAS DE LA BASE DE DATOS<br><br>
<?php
$link = mysql_connect("localhost", "root");
mysql_select_db("ruso", $link);
$dbname = "ruso";
$tablaruso=$_POST ['tablaruso'];
echo $tablaruso;
?>
</body>
</html>
********
¿Cómo t darás cuenta estoy mandando llamar tablaruso como la mande llamar en el 2do formulario, es eso lo que esta mal?
Respuesta
1
En efecto el problema es que tablaruso es un elemento de formulario sólo en el primero de ellos. Cuando envías el segundo no hay ningún elemento con ese nombre y por lo tanto el POST no devuelve ningún valor ahí.
Esto se puede solucinoar usando variables de sesión, pero si sólo tienes el problema con esta variable es más sencillo usar un campo oculto en el segundo formulario:
<input type="hidden" name="tablaruso" value="<?php echo $_POST["tablaruso"]; ?>">
Esto hará que el valor se transmita también al tercer formulario.

1 respuesta más de otro experto

Respuesta
1
Si quieres que la variable tablaruso te aparezca en el 3 script, llamándola desde el segundo, debes agregarla como una entrada oculta dentro del formulario así:
<input type="hidden" name="tablaruso" value="<?php echo $_POST['tablaruso']; ?>" />
esto lo incluyes dentro de la forma <form ...></form>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas