Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

226
Vistas
Usando los valores de una var dentro de un bucle foreach

Estoy trabajando en un sistema lms y tengo este problema.

 foreach($datas as $data){ ?> <div style="background-color: #3B4FDF; border-radius: 3%; width: 30%; height: 220px; margin-right: 5%; cursor: pointer;" onclick="location.href='classAdmin_list.php'"> <p style="font-size: 1.5vw; color: white; position: relative; left: 7%; top: 0%;"> <?= $data['class_name'] ?> </p> <p style="font-size: 1vw; color: white; position: relative; left: 75%; top: -25%;"> <?= $data['class_code'] ?> </p> <p style="font-size: 1vw; color: white; position: relative; left: 7%; top: 17%;"> <?= $data['school'] ?> </p> <?php $_SESSION['className'] = $data['class_name']; ?> <img src="foto/balll.png" alt="ball" style="opacity: 0.5; width: 22%; height: 100px; position: relative; left: 75%; top: -30%;"> </div> <?php } ?>

Este es un código que crea un div que se ve así: ingrese la descripción de la imagen aquí

Esos números romanos son nombres. Actualmente los estoy guardando dentro de $_Session que está dentro de un bucle foreach. Y ese es exactamente el problema.

Cuando hago clic en el div, me redirige a una página que se ve así: ingrese la descripción de la imagen aquí

Ves eso (I-2).

Necesito que I-2 sea el nombre de la clase (número romano) según el div en el que se hizo clic.

Pero ese valor se guarda en una $_Session, y esa $_Session se actualiza y sobrescribe los valores anteriores. entonces, si hago clic en el 1 div (XII-3), no dirá: "Clase XII-3" sino "Clase I-2".

Aquí está el código que uso para hacer esa "Clase X"

 <p> Class <span><?= $_SESSION['className'] ?></span> </p>

Vi algunas preguntas, pero estaban usando para cada bucle, así que pregunto porque no puedo encontrar una respuesta.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Este no es un buen caso de uso para las sesiones. Simplemente pase el nombre en la URL como parámetro de consulta:

 onclick="location.href='classAdmin_list.php?name=<?= urlencode($data['class_name']) ?>'">

( Siempre use urlencode() cuando agregue valores a la URL para asegurarse de que no rompan la URL )

y luego utilícelo en la classAdmin_list.php :

 Class <span><?= htmlentities($_GET['name']) ?></span>

( Use siempre htmlentities() o htmlspecialchars() al generar datos para protegerse contra XSS )

about 4 years ago · Juan Pablo Isaza Denunciar

0

necesitas envolver el img en algún tipo de ancla, por ejemplo

 <a href="/selected.php?className=<?=urlencode($data['class_name'])?>"> <img src="foto/balll.png" alt="ball" style="opacity: 0.5; width: 22%; height: 100px; position: relative; left: 75%; top: -30%;"> </a>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda