2013-04-05 69 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