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

219
Vistas
¿La función vinculada al botón siempre se ejecuta o cometí un error?

Así que tengo esta página de PHP, con algunas cosas sin importancia al principio y una apertura de sesión:

 <?php session_start(); ?>

Quiero que aparezca el botón de desconexión solo si el usuario ya está conectado, lo que significa que $_SESSION['Pseudo'] está configurado. Si este es el caso, creo un botón y vinculo a ese botón una función para destruir la sesión. El problema es que cada vez que entro en esta página, la sesión se destruye, aunque esté en una condición.

Aquí está mi código:

 <?php if (isset($_SESSION["pseudo"])) { echo '<p><button type="button" id="deco">Disconnect</button></p>'; } ?> <script> let btn = document.getElementById('deco'); if (btn) { btn.addEventListener('click', updateBtn); function updateBtn() { <?php session_destroy(); ?> window.location.href = "/" } } </script>

Cualquier pista ?

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

0

No puedes combinar PHP dentro de Javascript así.

Cuando estás haciendo, no es parte de Javascript. Es código PHP y se ejecuta como parte del código PHP en el archivo.

Esto significa que no tiene nada que ver con el aspecto de javascript. su función updateBtn es efectiva, cuando se carga el código fuente de la página:

 function updateBtn() { window.location.href = "/" }

Lo que realmente quiere hacer es que cuando alguien haga clic en el botón, lo lleve a una página de cierre de sesión o una página con un parámetro de consulta de cierre de sesión.

p.ej.

 <?php if (isset($_GET['action']) && $_GET['action'] === 'logout') { session_destroy(); echo 'You have successfully logged out!'; } if (isset($_SESSION["pseudo"])) { echo '<p><button type="button" id="deco">Disconnect</button></p>'; } ?> <script> let btn = document.getElementById('deco'); if (btn) { btn.addEventListener('click', updateBtn); function updateBtn() { window.location.href = "/?action=logout" } } </script>
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