saber si un valor esta dentro de una variable de session
Publicado por noe (6 intervenciones) el 19/01/2021 04:32:05
hola foro !!!
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-----
carrito-agrega.php-------
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-----------------------------
modo 2-------------------------------
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-----
1
2
3
4
5
6
7
<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-------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
session_start();
$escribe = 'si';
$pid = $_POST['id'];
$pno = $_POST['nombre'];
$pca = $_POST['cantidad'];
$ppr = $_POST['precio'];
$todo = [$pid,$pno,$pca,$ppr];
if (isset($_POST['btnAccion'])){
if (isset($_SESSION['carrito'])) {
array_push($_SESSION["carrito"], $todo);
}else{
$NumProd = count($_SESSION['carrito']);
array_push($_SESSION['carrito'][$NumProd] = $todo);
}
}
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-----------------------------
1
2
3
4
5
6
$key = array_column($_SESSION['carrito'],$pid);
if(in_array($_SESSION['carrito'], $key)){
echo '<script>alert(ya existe)</script>';
}else{
array_push($_SESSION["carrito"], $todo);
}
modo 2-------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
foreach ($_SESSION["carrito"] as $indice => $detalle) {
if ($detalle[1] == $pid) {
$escribe = 'no';
break;
}
}
if ($escribe == 'si') {
echo 'no esta';
array_push($_SESSION["carrito"], $todo);
}
if ($escribe == 'no') {
echo 'si esta';
}
Valora esta pregunta
0