Postingan lainnya
sweet alert berbarengan dengan direct url
saya ingin menanyakan bagaimana caranya agar sweet alert muncul saat direct ? contohnya seperti alert javascript pada umumnya..
ini contoh yg saya buat :
tes.php :
<html>
<head>
<!-- sweet alert -->
<link rel="stylesheet" type="text/css" href="plugins/sweetalert/sweetalert.css">
<script type="text/javascript" src="plugins/sweetalert/sweetalert.min.js"></script>
<!-- end sweet alert -->
</head>
<body>
<form method="post" action="proses.php">
<label>NIK</label><br>
<input type="text" name="nik"><br>
<label>Confirm NIK</label><br>
<input type="text" name="confirmnik"><br><br>
<button type="submit" name="submit">Cek</button>
</form>
</body>
</html>
proses.php :
<html>
<head>
<!-- sweet alert -->
<link rel="stylesheet" type="text/css" href="plugins/sweetalert/sweetalert.css">
<script type="text/javascript" src="plugins/sweetalert/sweetalert.min.js"></script>
<!-- end sweet alert -->
</head>
<body>
<?php
$nik = $_POST['nik'];
$confirmnik = $_POST['confirmnik'];
if ($nik<>$confirmnik)
{
echo '<script language="javascript">swal({
title: "Warning!",
text: "nik and confirm nik do not match !",
type: "warning"
}, function(){
window.location.href = "tes.php";
});</script>';
}
else
{
echo '<script language="javascript">alert("success"); window.history.back();</script>';
}
?>
</body>
</html>
pada contoh diatas saat masuk sweetalert harus klik ok dlu baru direct ke tes.php,, bagaimanacaranya muncul sweetalert berbarengan dengan directnya ?
3 Jawaban:
bisa pake setTimeout();
setTimeout(function(){
window.location.href = "tes.php";
}, 3000); //3000 miliseconds alias 3 detik
//jadinya akan redirect setelah 3 detik
@azam007 bisa juga sih seperti itu.. mas boleh nanya lagi ?
bagaimana jika saya menggunakan database contoh : ingin mengecek email apakah sudah terdapat pda db atau belum. tes.php :
<html>
<head>
<!-- sweet alert -->
<link rel="stylesheet" type="text/css" href="plugins/sweetalert/sweetalert.css">
<script type="text/javascript" src="plugins/sweetalert/sweetalert.min.js"></script>
<!-- end sweet alert -->
</head>
<body>
<form method="post" action="proses.php">
<label>email</label><br>
<input type="email" name="email"><br>
<button type="submit" name="submit">Cek email</button>
</form>
</body>
</html>
proses.php :
<html>
<head>
<!-- sweet alert -->
<link rel="stylesheet" type="text/css" href="plugins/sweetalert/sweetalert.css">
<script type="text/javascript" src="plugins/sweetalert/sweetalert.min.js"></script>
<!-- end sweet alert -->
<?php include 'config.php'; ?>
</head>
<body>
<?php
$email = $_POST['email'];
$cekdata=mysqli_query($conn,"SELECT * FROM user_csr WHERE email = '$email'");
if(mysqli_num_rows($cekdata)>0)
{
echo '<script language="javascript">swal({
title: "Warning!",
text: "email sudah terdapat pada sistem !",
type: "warning"
}, function(){
window.location.href = "tes.php";
});</script>';
}
else
{
echo '<script language="javascript">swal({
title: "Success!",
text: "email akan didaftarkan",
type: "success"
}, function(){
window.location.href = "tes.php";
});</script>';
}
?>
</body>
</html>
bagamaimana ketika kita klik button cek langsung muncul alert tanpa harus ke halaman proses ?? intinya alertnya gamau ada di proses.. inginnya ada di halaman tes.php.. bagaimana kira2 ya ?
kalo gitu , mungkin bisa dibuat begini..
test.php
<?php
include 'config.php';
$email = isset($_POST['email']) ? $_POST['email'] : "";
$submit = isset($_POST['submit']) ? $_POST['submit'] : "";
function notification($title, $text, $type, $location){
return "<script language=\"javascript\">
swal({
title: \"{$title}\",
text: \"{$text}\",
type: \"{$ype}\"
}, function(){
window.location.href = \"{$location}\";
});
</script>";
}
?>
<html>
<head>
<!-- sweet alert -->
<link rel="stylesheet" type="text/css" href="plugins/sweetalert/sweetalert.css">
<script type="text/javascript" src="plugins/sweetalert/sweetalert.min.js"></script>
<!-- end sweet alert -->
<?php
if($submit){
$cekData = mysqli_query($conn,"SELECT * FROM user_csr WHERE email = '$email'");
if(mysqli_num_rows($cekdata) > 0){
echo notification('Warning!','email sudah terdapat pada sistem !','warning','test.php');
}else {
echo notification('Success!','email akan didaftarkan','success','test.php');
}
}
?>
</head>
<body>
<form method="post" action="">
<label>email</label><br>
<input type="email" name="email"><br>
<button type="submit" name="submit">Cek email</button>
</form>
</body>
</html>
Penjelasan :
$email = isset($_POST['email']) ? $_POST['email'] : "";
$submit = isset($_POST['submit']) ? $_POST['submit'] : "";
nah diatas itu ada isset, isset itu singkatnya untuk mengecek apakah variable tersebut sudah di set atau belum, maka hasilnya boolean antara true atau false. bisa baca disini https://www.w3resource.com/php/function-reference/isset.php
terus ada "?" $_POST['email'] : ""; nah ini namanya ternary operator singkat nya ini kayak if else cuman dalam 1 line. jadi kalo baca syntax diatas jika $_POST['email'] sudah diset maka variable $email akan jadi value nya dari post, kalo belum diset maka value email akan bernilai kosong / ""
bisa baca disini https://davidwalsh.name/php-shorthand-if-else-ternary-operators
Tanggapan
saya pake cara mas azam007 kok gagal ya gk muncul malah bisa nya cuma muncul pas di proses .. tolong dong bagi ilmunya