2015-05-20 56 views
0

使用管理頁面,我想打開/關閉或啓用/禁用一個PHP文件,我正在使用會話,但會話停止,因爲我關閉瀏覽器。即使關閉瀏覽器,我也希望保持活動狀態。我是否使用正確的代碼?我認爲這不是會話...?如何在管理頁面打開/關閉php文件?

<form method="post" action=""> 
    <td colspan="2" bgcolor="#FFFFFF" valign="left"> 
     <strong>APPLICATION FORM: 
     <select name="switch" id="switch" align="center" valign="center"> 
      <option></option> 
      <option>ON</option> 
      <option>OFF</option> 
     </strong> 
     </SELECT> 

     <input type="submit" name="submit" value="SUBMIT"> 

     <?php 
     if(isset($_POST['submit'])){ 
      include('config.php'); 
      $switch=($_POST['switch']); 

      if ($_POST['switch'] == "ON"){ 
       $_SESSION['switch'] = $switch; 
       echo "<script language='javascript' type='text/javascript'>"; 
       echo "alert('Application form ACTIVATED!');"; 
       echo "</script>"; 
       echo 'ON'; 
      } 

      if ($_POST['switch'] == "OFF"){ 
       echo "<script language='javascript' type='text/javascript'>"; 
       echo "alert('Application form DEACTIVATED!');"; 
       echo "</script>"; 
       echo 'OFF'; 

       session_destroy(); 
       header('location.href=index.php'); 
      } 
     } 
     ?> 
    </td> 
</form> 

<?php 
session_start(); 
?> 

<?php 
$con = mysql_connect('localhost','root',''); 
if (!$con) { 
    die('Could not connect:'.mysql_error()); 
} 

mysql_select_db ('psp',$con); 

if (!isset($_SESSION['switch'])){ 
    header('location:index.php'); 
} 
?> 
+1

http://stackoverflow.com/questions/3684620/is-possible-to-keep-session-even -after-the-browser-is-closed – Vertig0

+1

除了@ ashkufaraz的答案之外,保存數據而不是會話保存到數據庫或文件或cookie – ashkufaraz

+0

,會話的生存期在瀏覽器退出時結束,或者如果程序取消設置,則可以設置生命期的Cookie,但在清除瀏覽器緩存和Cookie時,可以在瀏覽器中將其刪除...文件和數據庫會很好,因爲它可以保存到服務器端並且設置可以保持不變。 – catzilla

回答

2

您可以關閉/使用數據庫或文件中保存設置在頁面上..

是,會話可用於禁用/啓用PHP文件,但它會在瀏覽器復位出口。雖然餅乾可能是有用的,該設置將重置,當你清楚瀏覽器的cookies或者餅乾過期了

最好的方法將使用數據庫或保存設置的文件..

所以,你可以在數據庫中創建一個表列:

select * from file_settings; 
+-------+-------------+-----------+ 
| id | filename | status | 
+-------+-------------+-----------+ 
| 0  | file.php | ON  | 
+-------+-------------+-----------+ 

然後在你的file.php

<?php 
    /* code for getting the columns in file_settings: 
    lets make a shortcut, just query the database and 
    it will output every row in the table as $row 
    */ 
    if("file.php" == $row['filename'] && $row['status'] != "ON") { 
    header('the_redirect_page.php'); 
    } 
    // if false then proceed to page 
?> 
+1

'!= ON' - ON是一個字符串'!='ON''否則它被當作一個常量並且拋出一個未定義的常量ON通知。 –

+0

@ Fred-ii-我現在修改了我的答案,似乎忘了把它放在裏面「」 – catzilla

+0

感謝您的編輯,*歡呼* –

相關問題