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

219
Visualizações
acceda al valor de la sesión de PHP en el javascript de otro archivo

Estoy tratando de hacer un modal en un archivo PHP y estoy administrando el formulario desde el modal en otro archivo javascript.

Mi pregunta es: ¿Cómo puedo acceder a un valor de sesión en ese archivo javascript?

Aquí está mi código HTML en un archivo php:

 <dialog class="modal" id="modal"> <div class=modal-header> <h1>Insert a term</h1> </div> <form class="form" method="dialog"> <label>Title</label> <input type="text" id="title"> <label>Description</label> <input type="text" id="description" placeholder="(Max 140 characters)"> <div class="btn2-group"> <button class="button" id="submitForm" type="submit">submit form</button> <button class="close button"><b>Close</b></button> </div> </form> </dialog>

Y aquí está mi modal.js:

 const modal = document.querySelector("#modal"); const openModal = document.querySelector(".open-button"); const closeModal = document.querySelector(".close"); const submitForm = document.querySelector("#submitForm") openModal.addEventListener("click", () => { modal.showModal(); }); closeModal.addEventListener("click", () => { modal.close(); }); submitForm.addEventListener("click", () => { var title = document.getElementById("title").value; var desc = document.getElementById("description").value; var x = "<?=$_SESSION['user_id']?>"; if (title && desc) { alert(x); } else { print("Please fill everything up!"); } })
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Genere el archivo JS desde PHP, modal.js.php .

 <?php session_start(); header("Content-type: text/javascript"); ?> const modal = document.querySelector("#modal"); const openModal = document.querySelector(".open-button"); const closeModal = document.querySelector(".close"); const submitForm = document.querySelector("#submitForm") openModal.addEventListener("click", () => { modal.showModal(); }); closeModal.addEventListener("click", () => { modal.close(); }); submitForm.addEventListener("click", () => { var title = document.getElementById("title").value; var desc = document.getElementById("description").value; var x = <?= json_encode($_SESSION['user_id']) ?>; if (title && desc) { alert(x); } else { print("Please fill everything up!"); } })
about 4 years ago · Juan Pablo Isaza Relatório

0

Como sugerí en mi comentario, intentaría agregar una entrada oculta al código PHP HTML como esa:

 <dialog class="modal" id="modal"> <div class=modal-header> <h1>Insert a term</h1> </div> <form class="form" method="dialog"> <label>Title</label> <input type="text" id="title"> <label>Description</label> <input type="text" id="description" placeholder="(Max 140 characters)"> <input type="hidden" id="user-id" name="userId" value="<?=$_SESSION['user_id']?>"> <div class="btn2-group"> <button class="button" id="submitForm" type="submit">submit form</button> <button class="close button"><b>Close</b></button> </div> </form> </dialog>

Y luego obtenga esto por JS así:

 const modal = document.querySelector("#modal"); const openModal = document.querySelector(".open-button"); const closeModal = document.querySelector(".close"); const submitForm = document.querySelector("#submitForm"); const userID = document.getElementById("user-id").value; openModal.addEventListener("click", () => { modal.showModal(); }); closeModal.addEventListener("click", () => { modal.close(); }); submitForm.addEventListener("click", () => { var title = document.getElementById("title").value; var desc = document.getElementById("description").value; if (title && desc) { alert(userID); } else { print("Please fill everything up!"); } })

Por supuesto, puede obtener el valor de entrada oculto de diferentes maneras, como:

 const userID = document.getElementsByName("userId")[0];

ACTUALIZAR:

Bueno, estoy de acuerdo con los argumentos de M. Eriksson en los comentarios. Tal vez se deba reconsiderar la lógica detrás de este código.

about 4 years ago · Juan Pablo Isaza Relatório

0

Aquí está mi sugerencia:

No envíe la identificación de usuario en el JS y elimínela del formulario por completo.

Si sabe que se supone que es el usuario actual, obtenga la identificación del usuario de la sesión en PHP en la página que recibe la solicitud de formulario. No necesita enviarlo al cliente solo para recuperarlo en PHP.

Si lo envía desde el cliente, aún necesita validar/verificar la identificación, ya que nunca debe confiar en los datos de confianza que obtiene del cliente. Cualquiera puede modificar esa ID en su cliente/navegador y enviar lo que quiera.

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