如何在 php 中使用 sweetalert2

How to use sweetalert2 in php

我有一个代码可以将数据插入 MySQL,它运行良好,我想将当前的 java 脚本警报替换为 sweetalert2。我浏览了所有论坛,但找不到任何东西。 谁能帮我? 谢谢。

<?php
//session_start();
//include "dbcon.php";
error_reporting(0);

$conn = new PDO('mysql:host=localhost; dbname=fleet','root', 'root'); 

$department=$_POST['department'];
$employee=$_POST['employee'];
$approver=$_POST['approver']; 
$depart_date=$_POST['depart_date'];
$return_date=$_POST['return_date'];
$depart_time=$_POST['depart_time'];
$return_time=$_POST['return_time'];
$depart_place=$_POST['depart_place'];
$arrival_place=$_POST['arrival_place'];
$reason=$_POST['reason'];
$request_timestamp=$_POST['request_timestamp'];    
$approver_email = $_POST['approver_email'];
//employee_name = $_POST['employee_name'];  
$employee_name = $_POST['employee_name'];
$approver_name = $_POST['approver_name'];
$employee_title = $_POST['employee_title'];
//$no_of_passengers = '';
//$name_of_passengers = '';


$no_of_passengers = $_POST['no_of_passengers'];
$name_of_passengers = $_POST['name_of_passengers'];

//$no_of_passengers2 = $_POST['no_of_passengers2'];
//$name_of_passengers2 = $_POST['name_of_passengers2'];

//$no_of_passengers2 = '';
//$name_of_passengers2 = '';

$sql2='';

//include "mail.php";

// $no_of_passengers2 = $_POST['no_of_passengers2'];
// $name_of_passengers2 = $_POST['name_of_passengers2'];

if (isset($_POST['submit'])) {

       // $sql2='';

        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $sql = "INSERT INTO fms_booking_request (requested_by, approver, approving_dept, no_of_passengers, name_of_passengers, departure_place, arrival_place, reason, request_timestamp,departure_date, return_date, departure_time, return_time)
        VALUES ('$employee', '$approver', '$department', '$no_of_passengers', '$name_of_passengers', '$depart_place', '$arrival_place', '$reason','$request_timestamp','$depart_date', '$return_date','$depart_time','$return_time')";

        $conn->exec($sql);
        //$conn->exec($sql2);

        /*echo "<br><br>You have successfully booked for a vehicle.<br>
              An emial is being sent to approver, Please wait for 5 seconds.<br>
              *<br>
              **<br>
              ***<br>
              ****<br>
              *****<br>
              ******<br>";
        */
        include "mail.php";


        echo "<script>alert('Successfully booked for a vehicle, email has been sent to approver'); window.location='vehicle_booking_form.php'</script>";

} 

else{

    echo "<script>alert('Please try again!'); window.location='vehicle_booking_form.php'</script>";
}

?>

我想使用这个 sweetalert

Swal.fire({
  position: 'top-end',
  type: 'success',
  title: 'Your work has been saved',
  showConfirmButton: false,
  timer: 1500
})

您需要下载并包含 sweetalert js 库或使用在线版本。

<!-- SweetAlert2 -->
<script type="text/javascript" src='../files/bower_components/sweetalert/js/sweetalert2.all.min.js'> </script>
<!-- SweetAlert2 -->
<link rel="stylesheet" href='../files/bower_components/sweetalert/css/sweetalert2.min.css' media="screen" />

然后在代码中将所有 js alert 替换为 swal。

 Swal.fire({
   position: 'top-end',
   type: 'success',
   title: 'Your work has been saved',
   showConfirmButton: false,
   timer: 1500
 });

您可以在此处找到 sweetalert2 的所有其他选项 https://sweetalert2.github.io/

要在 php 中使用它,您可以使用以下代码。首先,您必须包含我已经包含的 sweetalert 库。然后你可以像我在 echo 中使用的那样使用 sweet alert。在加载 dom 元素之前,Sweetalert 不会加载。因此,为了解决这种情况,我使用了 jquery 的 $(document).ready() 函数。

注意:不要忘记在顶部也包含 jquery

<head>
  <script src="jquery-3.3.1.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js"></script>
</head>

<?php

echo '
<script type="text/javascript">

$(document).ready(function(){

  swal({
    position: "top-end",
    type: "success",
    title: "Your work has been saved",
    showConfirmButton: false,
    timer: 1500
  })
});

</script>
';
 ?>

你可以使用这个 sweetalert https://sweetalert.js.org/guides/#getting-started 然后你可以做

echo '<script type="text/javascript">sweetAlert("Congratulations !","Successfully booked for a vehicle, email has been sent to approver","success")</script>';

echo '<script type="text/javascript">sweetAlert("Error !","Try again !","error")</script>';