Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/09/2012, 07:13
isrrita
 
Fecha de Ingreso: septiembre-2012
Mensajes: 10
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Recoger valor formulario en $_SESSION

Cita:
Iniciado por maycolalvarez Ver Mensaje
bienvenido al foro, le agradezco que consulte las políticas del mismo para que su estancia aquí sea de lo más agradable, por ejemplo utilizar el highlight del foro para mostrar código de una forma agradable.

Volviendo al tema me parece que estás implementando una especie de carro de compras ¿cierto?, bueno si estás registrando los productos en el array de sesión ¿de donde obtienes los precios?

el objetivo básico de un carro de compras es almacenar los ID y la cantidad de productos agregados, con ello tienes lo suficiente para consultar a la base de datos el precio del articulo y realizar el calculo correspondiente, evalúa bien tu lógica de negocio y si estoy en lo cierto comenta.

PD: trata de editar el post para añadir el highlight al mensaje anterior, leerlo así es difícil
Gracias maycoalvarez, mira los productos los obtengo mediante una consulta a la tabla productos que tengo en la base de datos, y los muestro en el formulario con el boton 'añadir a la compra', el codigo funciona bien y hace todo correcto, pero quiero saber como guardar los datos del precio de producto (que son recogidos tb de la bd), y mandarlos a confirmar, con eso me bastaria, pero claro no se como.....
Código PHP:
<?php 
session_start
(); //Inicio sesion 
error_reporting(E_PARSE);//No mostrar errores a nivel bajo
$con mysql_connect("localhost","root")
   or die(
"¡No se ha podido establecer la conexión con el servidor!");
$resp mysql_select_db("infor")
  or die(
"¡No se ha podido seleccionar la base de datos!");


if(isset(
$_POST['nombre'])){ 
$nombre $_POST['nombre']; 
$_SESSION['usuario'] = $nombre//Guardo el nombre del usuario en sesion 
//session_register('pedido'); 
}
if(isset(
$_POST['agregar'])){ //Si se envió el primer formulario 
//$_SESSION['miprecio']=$fila["precio"];
//$precios = array_keys ($_POST['precio']);
//$_SESSION['miprecio'] = $precios;

$claves array_keys($_POST); 
$producto $claves[1]; 
if(!
is_array($_SESSION['pedido'])) //Si no es un array 
{
$_SESSION['pedido'] = array();
}
if(
array_key_exists("$producto",$_SESSION['pedido'])){ 
$cantidad $_SESSION['pedido']["$producto"]; 
$_SESSION['pedido']["$producto"] = ++$cantidad

else { 
$_SESSION['pedido']["$producto"] = 1


if(isset(
$_GET['quitar'])){ //Si se envió el segundo formulario 
$claves array_keys($_GET); 
$producto $claves[1]; 
unset(
$_SESSION['pedido'][$producto]); //Eliminar la posicion del arreglo 
} echo "Bienvenido : ".$_SESSION['usuario'];
?> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
</head> 
<body bgcolor="#E0E0F8"> 
<a href="formulario.php"><img src="flechaizq.png"></a>

<form action="suerte.php" method="post"> 
<input type="hidden" name="agregar"> 

<?php


$resultado
=mysql_query("SELECT * FROM productos WHERE stock <>'0' ORDER BY tipoproducto ASC",$con);

//Imprimimos el encabezado de la tabla:
echo "<table width=900 border=1 align=center>";
echo 
" <tr>";
//mysql_num_fields retorna el nº de campos (columnas) que tiene la consulta    
for ($i=0$i mysql_num_fields($resultado); $i++)
    {
    
//mysql_field_len devuelve el "ancho" del $i-ésimo campo de la consulta.
    
$longitud mysql_field_len($resultado$i);
    echo 
" <td width=$longitud> <center><b>".
    
//mysql_field_name retorna el nombre del $i-ésimo campo de la consulta:
    
mysql_field_name($resultado,$i) ."</b></center></td>";
    }
echo 
" <td width=100> <center><b>Accion</b></center></td>";

echo 
" </tr>";


    while(
$fila=mysql_fetch_array($resultado)){
?>
<p>
    <?php 

    
echo ("<tr><td>" $fila["id"] . "</td>");
    echo (
"<td>" $fila["tipoproducto"] . "</td>");
         echo (
" <td>" $fila["modelo"] . "</td>");
        echo (
" <td>" $fila["marca"] . "</td>");
            echo (
" <td>" $fila["precio"] . "</td>");
                echo (
" <td>" $fila["stock"] . "</td>");
    echo 
"<td><input type='submit' name='".$fila["tipoproducto"].$fila["modelo"].$fila["precio"]."' id='button' value='Añadir al carrito'></td>";
//    echo ("<td><a href='suerte.php?id=" . $fila["id"] . "'>añadir</a></td>");
     
?>
</p>
<?php
}
?>

 
</form> 
<form action="suerte.php" method="get"> 
<h1>En el carrito de compras tiene los siguientes productos</h1> 
<input type="hidden" name="quitar"> 
<?php 
if(!empty($_SESSION['pedido'])){ //Si hay productos en el carrito
foreach($_SESSION['pedido'] as $prod => $unidades){ 


echo 
$_SESSION['miprecio']; 
echo 
"$unidades unidades del producto $prod";
echo 
"<input type='Submit' name='$prod' value='Quitar'><br>"; } 
?> 
</form> 
<form action="confirmar.php" method="post"> 
<input type='Submit' name='Comprar' value="Confirmar compra"> 
</form> 
<?php 

?> 
</body> 
</html

-->en la linea 72, while($fila=mysql_fetch_array($resultado)){ es donde se recorre el resultado de la consulta SELECT * FROM productos WHERE.... para mostrar los productos de la tabla productos en mysql.