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>
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>
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