Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
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