Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2013, 02:02
Avatar de the_sheriff_pino
the_sheriff_pino
 
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Guardar valor en un hidden para utilizar de nuevo

Saludos!
Tengo una página de lista clientes
Código PHP:
<?php
function generaClientes()
{

    
$c            =    mysql_connect("localhost","root","");        //Conexión con el servidor
    
$db            =    mysql_select_db("clientes",$c);                //Conexión con la base de datos
    
$consulta    =    mysql_query("SELECT * FROM tabla");        //Consulta para mostrar los productos


?>
     
    <select name='clientes' size="5px">
    <option value='0'>Elige un cliente...</option>
    
    <?php 
    
while($registro=mysql_fetch_assoc($consulta))
    {
?>
        <option value="<?php echo $registro['Nombre']; ?>"><?php echo $registro['Nombre']; ?></option>
    <?php 
    
}
    
?>
    
    </select>
<?php 
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Pedidos</title>
</head>

<body>
    <div align="center">
    <form action="pedidos.php" method="post">
        <?php generaClientes(); ?>
        <input type="submit" name="nuevo_pedido" value="Nuevo Pedido" />
            
    </form></div>
que manda el cliente seleccionado de una lista a una página de pedidos
Código PHP:
<?php
function generaClientes()
{
    
    
$c            =    mysql_connect("localhost","root","");        //Conexión con el servidor
    
$db            =    mysql_select_db("clientes",$c);                //Conexión con la base de datos
    
$consulta    =    mysql_query("SELECT * FROM productos");        //Consulta para mostrar los productos
?>    
     Seleccione el producto:
     <br />
    <select name='productos' size="5px">
    
    <?php 
    
while($registro    =    mysql_fetch_assoc($consulta))
    {
?>
        <option value="<?php echo $registro['nom_producto']; ?>"><?php echo $registro['cod_producto']." ".$registro['nom_producto']; ?></option>
    <?php 
    
}
    
?>
    
    </select>
<?php
}
    
//$clientes=$_POST['clientes'];
    
    
if (isset($_POST['clientes']))
        {
            
$clientes $_POST['clientes'];
        }    else    {
            
$clientes "";
            }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Pedidos</title>
</head>

<body>
    
    <div align="center">
    
    Cliente seleccionado:     <?php echo $clientes?>
    
        
        <form action="pedidos.php" method="post">
            
    <br />
    <br />
        <?php generaClientes(); ?>
       <input type="hidden" name="clientes2" value="$clientes">
    <br />
    <br />
                Cantidad
                <input type="text" name="c1" size="5px" autocomplete="off" /> Unidades
    <br />   
    <br />
                Precio
                <input type="text" name="p1" size="3px" value="0,00" autocomplete="off"> Euros
    <br />   
    <br />
                Notas:
    <br />            
                <textarea name="notas" rows="5" cols="20"></textarea>
    <br />
            <input type="submit" name="enviar" value="Enviar" />
            
    </form></div>
    
    <br />
    <br />
    <br />
   
   
<?php
        
//Los siguientes isset se utilizan para que no muestre error antes de insertar los valores.
    
if (isset($_POST['productos']))
        {
            
$producto $_POST['productos'];
        } else { 
        
$producto "";
        }

    
    if (isset(
$_POST['c1'])) 
    {
        
$cantidad $_POST['c1'];
    } else {
        
$cantidad "";
    }


    if (isset(
$_POST['p1'])) 
    {
        
$precio $_POST['p1'];
    } else {
        
$precio "";
    }
    
    
    if (isset(
$_POST['notas'])) 
    {
        
$notas $_POST['notas'];
    } else {
        
$notas "";
    }
    
    
    
//Se obtienen los valores de $cantidad y $producto para su operación.
    
$resultado    $cantidad*$precio;
    
$clientes2    =    $_POST['clientes2'];

    if (isset(
$_POST['enviar']))
    {
?>
        El cliente seleccionado es: <?php echo $clientes2?>
        <br>
        
        EL producto seleccionado es: <?php echo $producto?>
        <br>

        El resultado de la operación es: <?php echo $resultado?>
        <br>

        Las notas escritas por el usuario son: <?php echo $notas?>
    <?php }


?>
</body>
</html>
El proceso es elegir un cliente de una lista_clientes y pulsar en nuevo pedido, que nos llevará a la página de pedidos y se nos muestra: EL cliente seleccionado es $clientes(la elección de la página anterior),; y un formulario simple con cantidad y precio, además de un botón para enviar los resultados a la misma página.
Lo que ocurre que cuando en la página de pedidos, pulso el botón para enviar los datos del formulario, esta se recarga, y la variable clientes no conserva el valor.

Espero su ayuda, gracias y un saludo