2013-04-05 61 views
0

有一個環節「添加類」, 當用戶點擊它指向哪裏有形式,在那裏他可以添加類 和頁面反饋文本表單動作是$ _ SERVER [「PHP_SELF」] 當他加入類successully將要採取的前一頁,我想(add_student_stream.php?ID = stud_02) 我試過,但它不工作,有的說它可能無法在安全頁面上工作如何重定向到前一頁PHP中

$q=mysql_query("insert into student_stream(id,student_id,stream) values('','$id','$stream')"); 
if($q){ 
header("Location: {$_SERVER['HTTP_REFERER']}"); 
} 

那麼我該如何做到這一點?

+0

*必須:*本'mysql_ *'功能將被已廢棄在PHP 5.5](HTTP:/ /php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated)。不建議編寫新代碼,因爲它將來會被刪除。相反,無論是[MySQLi](http://php.net/manual/en/book.mysqli.php)還是[PDO](http://php.net/manual/en/book.pdo.php)和[是一個更好的PHP開發人員](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 – 2013-04-05 15:29:00

+0

使用'$ _SESSION'? – hjpotter92 2013-04-05 15:29:23

回答

0

您可以使用$_SESSION在每個頁面上跟蹤PHP_SELF,因此您可以假設當前的PHP_SELF是您最後一頁。

頁1.PHP

session_start(); 
$_SESSION['currPage'] = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST URI']; 

if(isset($_GET['error'])){ 
$errorMessage = htmlspecialchars($_GET['error']); 
echo "An error occured. The message was: " . $errorMessage; 
} 

// The user ends up going to page 2... 

使page2.php

session_start(); 

// the user does something and now you need to redirect them... 

$errorMessage = "You made an error."; 
header("Location: " . $_SESSION['currPage'] . "?error=" . $errorMessage); 
exit; 
+0

我不工作,它仍然在同一頁面 – internally1 2013-04-05 16:12:49

+0

你確定你在前一頁設置'theurl'在進入第二頁之前? – 2013-04-05 16:15:45

+0

sory我不明白我該如何設置theurl?因爲我只是把這些代碼放在第二頁 – internally1 2013-04-05 16:33:41