2017-09-24 1 views
0

php、html、およびsweetalert2のJavaスクリプト関数を使用して、ユーザーに通知を表示します。ユーザーを同じ(ターゲットにした)ページにリダイレクトした後、警告を表示する必要があります。これは私がPHPでいくつかのJavaスクリプトを実行した後にユーザーをリダイレクトする方法

function delete_cat(){ 
     include("include/db.php"); 
     include("include/notification.php"); 

     $delete_cat_id = $_GET['delete_cat']; 
     $delete_cat= $con->prepare("DELETE FROM main_cat WHERE cat_id='$delete_cat_id'"); 

     if($delete_cat->execute()){ 
      echo '<script type="text/javascript"> 
       deleteMainCatSuccess(); 
       </script>'; 
      echo "<script>window.open('index.php?viewall_cat','_self')</script>"; 
     } 
     else{ 
      echo '<script type="text/javascript"> 
       deleteMainCatError(); 
       </script>'; 
     } 
    } 

を持っており、これは、通知のJavaスクリプトでコード

<script type="text/javascript"> 
    function deleteMainCatSuccess(){ 
     swal({ 
       title: "Success", 
       text: "Delete Main Category Success", 
       type: "success", 
       timer: 3000 
     }, 
      function(){ 
       //event to perform on click of ok button of sweetalert 
     }); 
    } 
</script> 

でこれは動作しますが、通知は1秒未満のために示し、後のページにリダイレクトします。私は、通知を表示してユーザーをターゲットページにリダイレクトするためにある程度時間をとる必要があります。私はtimer: 3000をオプションに含めましたが、違いはありません。

これを解決するにはどうすればよいですか?

+0

移動のようにそれを修正しました。 –

+0

どこでそれを学ぶことができますか?あなたは参考にしてください:) –

+0

あなたのコードは信じられないほど危険です。あなたは、SQLインジェクション攻撃を広く受け入れています...この問題を完全に回避するために、準備された/パラメータ化されたクエリを使用します。また、HTTP GETリクエストを変更しています。これはさまざまな基準に違反し、起源を越えた攻撃の影響を受けやすくなります。 「DELETE」動詞があります。あなたが何かを削除する場合は、それを使用してください。データを更新するには、適宜 'POST'または' PUT'を使います。 – Brad

答えて

0

私は `` swal`コールバック関数への呼び出しwindow.open`その

<script type="text/javascript"> 
function deleteMainCatSuccess(){ 
    swal({ 
      title: "Success", 
      text: "Delete Main Category Success", 
      type: "success", 
      timer: 3000 
     }).then(function(){ 
      window.location.href='index.php?viewall_cat'; 
    }); 
} 
0
swal({ 
    title: "Success", 
    text: "Delete Main Category Success", 
    type: "success" 
}, 
function(){ 
    window.open('index.php?viewall_cat','_self'); 
}); 

このようにしますか?

関連する問題