2013-04-15 60 views
0

我的會話沒有轉到下一頁。但是,如果我將下一頁放在表單的操作中,它就會繼續。雖然,如果我這樣做,驗證不起作用。SESSION不轉到下一頁

如何讓驗證工作而不將下一頁放在表單的操作中?

編輯

對不起剛指出。 session_start包含在頭文件中。

/********Application Process********/ 
if (isset ($_POST['app_submit'])){ 

$errorMsg = ""; 
    if(empty($_POST['app_name_first'])) { $errorMsg .= "<br/>First name is incomplete";} 
    if(empty($_POST['app_name_last'])) {$errorMsg .= "<br/>Last name is incomplete";} 


    if(empty($errorMsg)) { 
     $_SESSION['firstname'] = preg_replace('#[^A-Za-z0-9]#i', '', $_POST['app_name_first']); // filter everything but letters and numbers 
     $_SESSION['lasttname'] = preg_replace('#[^A-Za-z0-9]#i', '', $_POST['app_name_last']); // filter everything but letters and numbers 

     header('Location:apply3.php'); 

    } 

    else { 
     $firstname =""; 
     $lastname ="";  
     } 

}  
/********End Application Process**********/ 

表頭

<form action="" onsubmit="" method="POST" accept-charset="utf-8" enctype="application/x-www-form-urlencoded" id="infoform1" autocomplete="autocomplete" class="errorsUnder"> 

感謝

+6

我在任何地方都看不到'session_start()' –

+0

var_dump($ _SESSION)並查看它是否開始。 – JorgeeFG

+0

@Jorge是的,它開始。我看到數組(字節= 13) 'firstname'=>字符串'Janataan'(長度= 8) 'lasttname'=>字符串'Deggen'(長度= 7) – Janatan

回答

0

嘗試把

session_start() 

在文件的開頭?

0

<?php session_start(); ?>添加到您的標頭/配置本身。

0

session_start()必須存在於每個文件。

因此,如果您包含來自索引的所有文件,那麼只需在其中定義一次。

但是,如果您打開新的獨立文件,則必須在其中添加session_start()。

+0

我已經完成了 – Janatan

+0

你發送表單沒有任何操作? – Aris