2017-10-17 21 views
0

ここに私の問題があります。私はjgrwolで通知を行い、完了しました。今は、ログイン後に一度だけ通知がポップアップされるようにしたい。ページをリフレッシュするか、別のメニューを移動して通知メニューに戻ると、ポップアップが表示されなくなります。ログイン後にjgrowlが1回だけポップアップしたい場合

CODE:

<script type="text/javascript"> 
    $(function() { 
     $.jGrowl("<p class='upper'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i> <?=$row['NTFY_TTL'];?></p><?=$row['NTFY_DESC'];?><br> <small>Posted <?=$row['BEG_DT'];?></small>", { 
      theme: 'test', 
      position: 'top-right', 
      life: 3000 
     }); 
    }); 
</script> 

CODEのLOGIN:

<?php 
include "framework/database/connect.php"; 

$loginUserID=$_POST['userID']; 
$password=$_POST['password']; 
if(substr($password,-1)=="~"){ 
    $display="?DISP=ON"; 
    $password=substr($password,0,-1); 
} 
if(substr($password,-1)=="+"){ 
    $display="?DISP=TRIM"; 
    $password=substr($password,0,-1); 
} 
if($password!=''){ 
    $query="SELECT SEC_KEY,PRSN_NBR,PWD FROM CMP.PEOPLE PPL INNER JOIN CMP.POS_TYP POS ON PPL.POS_TYP=POS.POS_TYP WHERE PRSN_ID='".$loginUserID."' AND (PWD='".$password."' OR PWD='".hash('sha512',$password)."') AND TERM_DTE IS NULL"; 
    //echo $query; 
    $result=mysql_query($query); 
    $row=mysql_fetch_array($result); 
    if(mysql_num_rows($result)==0){ 
     $warning="<font color='red'>Id or Pass is wrong.</font><br />"; 
    }else{ 
     $warning="<br/>"; 
     $_SESSION['userID']=$loginUserID; 
     $_SESSION['personNBR']=$row['PRSN_NBR']; 
     //Enforce hashing 
     if($row['PWD']==$password){ 
      $query="UPDATE CMP.PEOPLE SET PWD='".hash('sha512',$password)."' WHERE PRSN_NBR=".$_SESSION['personNBR']; 
      //echo $query; 
      $result=mysql_query($query); 
     } 
     header('Location:index.php'.$display); 
     exit; 
    } 
}elseif($_GET['COMMAND']=="LOGOUT"){ 
    unset($_SESSION['userID']); 
    unset($_SESSION['personNBR']); 
}elseif($_GET['COMMAND']=="LOCK"){ 
    $defServer=$OLTA; 
    mysql_connect($defServer,"root","Pr0reliance"); 
    mysql_select_db("cmp"); 
    $query="UPDATE NST.PARAM_LOC SET TAX_LOCK=1"; 
    $result=mysql_query($query); 
}elseif($_GET['COMMAND']=="UNLOCK"){ 
    $defServer=$OLTA; 
    mysql_connect($defServer,"root","Pr0reliance"); 
    mysql_select_db("cmp"); 
    $query="UPDATE NST.PARAM_LOC SET TAX_LOCK=0"; 
    $result=mysql_query($query); 
    $defServer=$OLTP; 
} 
?> 
+2

ここで、ログインのコードは? –

+1

です。セッションのフラッシュデータを使用することも、ログインコードにセッションを定義することもできます。 '$ _SESSION ['just_login'] = 1;'それから '$ .jGrowl'が呼ばれた後に手動で' unset'します。 –

+0

私のログインのコードを更新して追加します。 –

答えて

0

使用セットのためのlocalStorageと値を取得します。 Check this fiddle、ログインページにあるときにローカルストレージをクリアするので、ログインページからメニューページに戻ったときに再び表示されます。

$(function() { 
    if(!localStorage.getItem('growl')){ 
     $.jGrowl("<p class='upper'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i> <?=$row['NTFY_TTL'];?></p><?=$row['NTFY_DESC'];?><br> <small>Posted <?=$row['BEG_DT'];?></small>", { 
      theme: 'test', 
      position: 'top-right', 
      life: 3000 
     }); 

       localStorage.setItem('growl', true); 
    } 

}); 

localstorageの場合は削除してください。

localStorage.removeItem('growl'); 
+0

、ここでこのコードを入れますか?ログインページの –

+0

はこの削除コード –

+0

を入れていますが、最初のコードを追加しようとしましたが、通知はポップアウトしません。 –

関連する問題