Agregar alerta de sweetalert

106 views
Skip to first unread message

Julio Enrique Ruiz Araneda

unread,
Dec 9, 2022, 11:32:39 AM12/9/22
to PHP Latinoamérica
Hola a todos. 
Estoy realizando mi primer proyecto de prueba en PHP.
 Estoy tratando de agregar una alerta a un botón del index.htlm. Donde tengo un formulario para logear.

En éste archivo html antes que termine el Body,  tengo el siguiente linck:

</body>

Luego en el archivo.php para logear el siguiente código:
<?php
session_start();
include 'conexion_be.php';

$correo = $_POST['correo'];
$contrasena = $_POST['contrasena'];

$validar_login = mysqli_query($conexion,"SELECT * FROM usuarios WHERE correo='$correo'  and contrasena='$contrasena' ");

if(mysqli_num_rows($validar_login) > 0) {
    header("location: ../../inicio.php");
    exit();
} else {                    && aquí tengo el problema
  echo "<script>
        Swal.fire({

          icon: 'error',

          title: 'Oops...!',

          text: 'Operación inválida o Clave errónea',  

          })

         window.location= 'index.php'

       </script>"; 

Al dar clic al botón logear, no manda error y no manda el mensaje de alerta.

Alguna ayuda por favor que me puedan orientar.

Muchas gracias .

Julio Enrique Ruiz Araneda

unread,
Jul 25, 2025, 7:07:49 PMJul 25
to PHP Latinoamérica
Respuesta que nunca llego. 
index.php (Formulario de login con alerta si hay error)

<?php
// Si el usuario ya inició sesión, redirige al inicio
session_start();
if (isset($_SESSION['usuario'])) {
    header("Location: inicio.php");
    exit();
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <form action="login.php" method="POST">
        <input type="email" name="correo" placeholder="Correo" required>
        <input type="password" name="contrasena" placeholder="Contraseña" required>
        <button type="submit">Ingresar</button>
    </form>

    <!-- SweetAlert -->

    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@10"></script>

    <script>
    <?php if (isset($_GET['error']) && $_GET['error'] == 1): ?>
        Swal.fire({
            icon: 'error',
            title: 'Oops...',
            text: 'Operación inválida o clave errónea'
        });
    <?php endif; ?>
    </script>
</body>
</html>

login.php (Validación y redirección)
<?php
session_start();
include 'conexion_be.php';

$correo = $_POST['correo'];
$contrasena = $_POST['contrasena'];

$validar_login = mysqli_query($conexion,"SELECT * FROM usuarios WHERE correo='$correo' AND contrasena='$contrasena'");

if(mysqli_num_rows($validar_login) > 0) {
    $_SESSION['usuario'] = $correo;
    header("Location: inicio.php");
    exit();
} else {
    // Redirige con parámetro de error
    header("Location: index.php?error=1");
    exit();
}
inicio.php (Página protegida)  
<?php
session_start();
if (!isset($_SESSION['usuario'])) {
    header("Location: index.php");
    exit();
}
echo "Bienvenido, " . $_SESSION['usuario']; 

Finalmente, Ventajas de esta forma
  • No mezclas header() con echo.

  • El login queda separado de la vista.

  • SweetAlert siempre está cargado en la página principal (index.php).

Quizás le sirva a alguien.

Reply all
Reply to author
Forward
0 new messages