2014-02-23 26 views
0

我有一個會話消息的問題,當我輸入頁面時會打印空白彈出窗口。這裏沒有消息。它旨在創建消息,如頁面刪除或頁面創建。它的工作原理除了當你進入頁面時的開始問題,它會顯示一個空白的彈出消息。空的會話消息彈出

session.php文件

<?php 
ini_set('session.bug_compat_warn', 0); 
ini_set('session.bug_compat_42', 0); 
session_start(); 

function message() { 
    if (isset($_SESSION["message"])) { 

     $output = htmlentities($_SESSION["message"]); 


     //clear message after use 
     $_SESSION["message"] = null; 
     return $output; 
     } 
    } 

    function errors() { 
    if (isset($_SESSION["errors"])) { 
     $errors = $_SESSION["errors"]; 

     //clear message after use 
     $_SESSION["errors"] = null; 
     return $errors; 
     } 
    } 

?> 

<?php require_once("includes/session.php"); ?> 

<div id="page"> 
<?php $alertmessage= message(); ?> 

<?php echo "<script type='text/javascript'>alert('{$alertmessage}');</script>"; ?> 

    <h2>Manage Admins</h2> 

    <table> 
     <tr> 
      <th style="text-align: left; width: 200px;">Username</th> 
      <th colspan="2" style="text-align: left;">Actions</th> 
     </tr> 

     <?php while($admin = mysqli_fetch_assoc($admin_set)) { ?> 
     <tr> 
      <td> 
       <?php echo htmlentities($admin["username"]); ?> 
       <br /> 
       <?php //echo htmlentities($admin["hashed_password"]); ?> 
      </td> 
      <td><a href="edit_admin.php?id=<?php echo urlencode($admin["id"]); ?>">Edit</a></td> 
      <td><a href="delete_admin.php?id=<?php echo urlencode($admin["id"]); ?>" onClick="return confirm('Are you sure you want to delete this admin?')">Delete</a></td> 
     </tr> 
    <?php } ?> 
    </table> 

<br/> 

    <table> 
     <tr> 
      <td><a href="new_admin.php">Add new admin</a></td> 
     </tr> 
    </table> 
</div> 

回答

0

你應該檢查,如果消息是不是在你的頁面模板空。最簡單的解決方案沃爾德是改變message()errors()返回false如果沒有在會議上沒有消息:

function message() { 
    if (isset($_SESSION["message"])) { 

     $output = htmlentities($_SESSION["message"]); 


     //clear message after use 
     $_SESSION["message"] = null; 
     return $output; 
     } 
     return false; 
    } 

然後在你模板您迴應的JavaScript之前,你應該檢查一下$alertmessage是不假:

<?php if($alertmessage) 
     echo "<script type='text/javascript'>alert('{$alertmessage}');</script>";?> 
0

如果你如果沒有消息,則返回從功能,虛假,你可以去

<?php 
if ($alertmessage = message()) echo "<script type='text/javascript'>alert('{$alertmessage}');</script>"; 

ŧ如果有消息顯示,你只會收到提醒

+0

erm我該如何讓函數返回false? – user3340777

+0

只是返回(false); – Galadai

+0

好吧,我知道了,謝謝 – user3340777