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

273
Vistas
PHP call Javascript function but don't wait response

I'm writing code in PHP where the response of an if condition calls a Javascript function with SweetAlert2. Basically, when a register is updated, the button calls a PHP function and this one call a Javscript function if it successfully runs. This javascript function is a SweetAlert2 which shows a message and should wait for a click on the "Ok" button to redirect the user to another URL.

The problem is the message appears really fast and doesn't wait to click; it closes by itself. The redirect is not working as well.

I already tried this javascript function from the PHP code and it is running fine.

How can I fix it?

PHP code

    function UpdateReg() {
      $Titulo =  $_REQUEST['f_titulo'];
      $Descricao = $_REQUEST['f_desc'];
      $Valor = $_REQUEST['f_valor'];
      $cod = $_GET['cod'];
    
    if ($GLOBALS['$conexao']->connect_error) {
        die("Falha de Conexão: " . $GLOBALS['$conn']->connect_error);
      }
      
      $sql = "UPDATE produtos set titulo = '$Titulo', descricao = '$Descricao', valor = '$Valor', WHERE cod_produto = $cod";
    
    
      if (mysqli_query($GLOBALS['$conexao'], $sql)) {
    
        echo "<script>ChangeOk('produto')";
          
      } else {
    
        echo "Erro: " . $sql . "<br>" . mysqli_error($GLOBALS['$conexao']);
      } 
      
      mysqli_close($GLOBALS['$conexao']);
    
    }
    
    }

Javascript

    function ChangeOk(tipo)
        {
          Swal.fire({
            title: "Feito!",
            text: "Registro alterado com sucesso",
            icon: 'success',
            showConfirmButton: true
            }).then((result) => {
              if (result.isConfirmed) {
                window.location = "home.php?tipo=" + tipo
              } 
          })
        }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

As PHP is a server-side language and Javascript is a client-side language you might run in to some problems with the timing. Your echo in php is the first line your document will generate. You'll see this when you check the sourcecode of the page in your browser.

I'm thinking the problem here might be that you call for ChangeOk('produto') too fast. Your library and javascript-function might not have been enterily loaded while you al ready call it from the echo with php. If that's the case it might help to tell Javascript it needs to run the call after all code is loaded.

echo "<script> window.addEventListener('load', ChangeOk('produto')); </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