Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

231
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda