buenas noches. esperando me puedan ayudar, les doy de antemano las gracias y es con lo que sigue
tengo el formulario este llama a carrito-agrega.php y lo inserta correctamente
los datos dentro de una variable de session
index.php-----
php
<form name="f" action="carrito-agrega.php" method="post"> <input type="hidden" name="id" id="id" value="<?php echo $fila['id']; ?>" /> <input type="hidden" name="nombre" id="nombre" value="<?php echo $fila['nombre'];?>"/> <input type="hidden" name="precio" id="precio" value="<?php echo $fila['precio'];?>"/> <input type="hidden" name="cantidad" id="cantidad" value="<?php echo 1;?>"/> <input type="submit" name="btnAccion" value="Agregar al Carrito" class="btn" /> </form>
carrito-agrega.php-------
php
$escribe = 'si'; $pid = $_POST['id']; $pno = $_POST['nombre']; $pca = $_POST['cantidad']; $ppr = $_POST['precio']; $todo = [$pid,$pno,$pca,$ppr]; }else{ } }
y lo que pretendo (no he podido hacerlo...) es que si se selecciona un id que ya este dentro del $_SESSION['carrito']
envie un mensaje que ya exite ese producto lo he intentado de 2 maneras pero no logro hacerlo me podrian indicar que estoy
haciendo mal?
modo 1-----------------------------
php
$key = array_column($_SESSION['carrito'],$pid); echo '<script>alert(ya existe)</script>'; }else{ }
modo 2-------------------------------
php
foreach ($_SESSION["carrito"] as $indice => $detalle) { if ($detalle[1] == $pid) { $escribe = 'no'; break; } } if ($escribe == 'si') { echo 'no esta'; } if ($escribe == 'no') { echo 'si esta'; }