2013-11-28 33 views
-2

這是一個轉發因爲我想出瞭如何發佈我的代碼。請不要生氣管理員! 看來,會議工作時,我立即設置他們,然後他們被銷燬。 這是我的phpinfo頁面,任何人都可以看到問題? 我無權訪問phpini文件。 你可以檢查我的cookie設置並告訴我是否可以使用這些設置嗎? http://cksgrill.net/phpinfo.php會話在1頁加載後立即銷燬

[code] 

<!DOCTYPE html> 
<script src="/javascript/header.js"></script> 
<? 

session_set_cookie_params(3000); 
session_start(); 
ob_start(); 
ini_set('session.gc_maxlifetime', 6 * 60 * 60); 
$session_expiration = time() + 3600 * 24 * 2; 
if((($_POST['name'])and($_POST['password']))or(($_POST['name']!="")and($_POST['password']!=""))) 
{ 
    $_SESSION['name']=$_POST['name']; 
    $_SESSION['password']=$_POST['password']; 
    echo $_SESSION['name']; 
    echo $_POST['name']; 
    echo $_SESSION['password']; 
    echo $_POST['password']; 
} 


// redifine variables for different server 
require_once "mysqlconfig.php"; 
require_once "textprep.php"; 

// connect to database 
global $connection; 
$connection = mysql_connect(DB_SERVER,DB_USER,DB_PASS); 
if (!$connection) 
{ 
    die("Database connection failed: " . mysql_error()); 
} 

// select database 
$db_select = mysql_select_db(DB_NAME,$connection); 
if (!$db_select) 
{ 
    die("Database selection failed: " . mysql_error()); 
} 

//check if logged in 
$result = mysql_query("SELECT * FROM admin"); 
if (!$result) 
{ 
    die("Database query failed: " . mysql_error()); 
} 

// get table names as mysql feedback 
$i=0; 
while ($row = mysql_fetch_array($result)) 
{ 
    $name[$i]=$row['name']; 
    $password[$i]=$row['password']; 
    $rank[$i]=$row['rank']; 

    //echo "\$name[$i]=".$row['name']; 
    //echo "\$password[$i]=".$row['password']; 
    //echo "\$rank[$i]=".$row['rank']; 

    $i++; 
} 

//check if logged in 
$log=false; 
for($j=0;$j<$i;$j++) 
{ 
    //echo "<p>(".$name[$j]."==".$_SESSION['name'].")and(".$password[$j]."==".$_SESSION['password'].")</p>"; 
    if(($name[$j]==$_SESSION['name'])and($password[$j]==$_SESSION['password'])) 
    { 
     $log=true; 
     echo logged." ".$log; 
    } 
} 
if($log==true) 
{ 
[/code] 
+0

'在session_start();'必須是任何輸出 – bansi

+0

前'session.gc_maxlifetime'是不是一個好way.You可以找到更多在這篇文章http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes?lq=1 –

+0

你問這只是40分鐘前。垃圾郵件[所以]用同樣的問題會給你一個問題禁令。請參閱[幫助中心](http://stackoverflow.com/help/no-one-answers) – 2013-11-28 06:31:50

回答

0

您有任何輸出之前啓動會話

session_start(); 
+0

本網站有人告訴我在會話開始前設置會話cookie參數。他告訴我這兩次 – user3044508

+0

http://stackoverflow.com/questions/20172009/best-practice-start-session-handling-before-or-after-post-data-has-been-checked – tinybyte

+0

http:// stackoverflow。 com/questions/8711282/session-start-works-after-output-being-sent – tinybyte