2017-10-17 1 views
0

여기 내 문제가 있습니다. jgrwol을 사용하여 알림을 보내려고했습니다. 이제 로그인 한 번 알림이 팝업으로 표시됩니다. 페이지를 새로 고치거나 다른 메뉴를 이동 한 다음 알림 메뉴로 돌아 가면 더 이상 팝업되지 않아야합니다.jgrowl이 로그인 후 한 번만 팝업되기를 원합니다.

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 로그인 :

<?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

입니다. 세션 flashdata를 사용할 수도 있고, 로그인 코드에 세션을 정의 할 수도 있습니다. '$ _SESSION [ 'just_login'] = 1;'그런 다음'$ .jGrowl'이 호출 된 후 수동으로 해제합니다. –

+0

내 로그인 코드를 업데이트하고 추가하십시오. –

답변

0

사용 세트에 대한 로컬 스토리지 및 가치를 얻을. 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

하지만 첫 번째 코드를 추가하려고했는데 알림이 튀어 나오지 않습니다. –

관련 문제