Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2013, 05:53
Avatar de the_sheriff_pino
the_sheriff_pino
 
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 1 mes
Puntos: 0
Variable no definida en 2ª Página

Saludo compa!
Tengo una pequeña duda.
Tengo una página lista_clientes.php para seleccionar un cliente de un select, y tras ello un botón ("nuevo pedido") que nos lleva a una nueva página pedidos.php.
En ella he puesto que se muestre el cliente seleccionado en la página anterior, con unos cuadro de texto donde insertar el pedido y con un botón que envíe el dato introducido a la misma página para poner algo como echo "El pedido que quiere realizar es " $_POST['pedido'].

El problema está en que cuando pulso el botón para enviar el pedido a la propia página, para que se muestre el pedido realizado, el nombre de cliente desaparece si tiene un isset.

lista_clientes.php
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 
}
?>

[HIGHLIGHT="HTML"]<!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">
        [HIGHLIGHT="PHP"]<?php generaClientes(); ?>[/HIGHLIGHT]
        <input type="submit" name="nuevo_pedido" value="Nuevo Pedido" />
            
    </form></div>[/HIGHLIGHT]
pedidos.php
Código PHP:
<?php
function generaProvincias()
{
    
    
$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
?>    

     
    <select name='productos' size="5px">
    <option value='0'>Elige un producto...</option>
    
    <?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 "";
            }
?>

[HIGHLIGHT="HTML"]<!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 generaProvincias(); ?>
       
    <br />
    <br />
                Cantidad
                <input type="text" name="c1" size="5px" autocomplete="off" /> Unidades
    <br />   
    <br />
                Precio
                <input type="text" name="p1" size="3px" 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 />[/HIGHLIGHT]
   
   
<?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;

    
$clientes=$cliente;

    if (isset(
$_POST['enviar']))
    {
?>
        El cliente seleccionado es: <?php echo $cliente?>
        
        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 }


?>
[HIGHLIGHT="HTML"]</body>
</html>[/HIGHLIGHT]