2012-10-15 44 views
-2

您好,形成我的语法有问题,这是iv'e得到的。传递标头值

$id = $_POST['student_id']; 
    $getlev= $_POST['lev']; 
    header('Location: usucess.php?id='.$id.'&getlev='.$getlev); 

并且这是接收端。

 if(empty($_POST['lvl'])){ 
       $yl= $_GET['getlev']; 
     }else{ 
       $yl=$_POST['lvl'];} 

目前只是路过而已的$ id希望得到什么,我做错了任何帮助。

+2

之间存在'$ _POST'和'$ _GET'的差异。请先让您自己熟悉编程语言。错误可能会发生,但并不是每个人犯的错误都值得在这里发表一个问题,尤其是当你从其他用户那里得到很多答案时,“只是猜测”,这对他们没有多大的帮助。相反,学习如何调试您的问题,这将带来更多的步骤。 'var_dump'是你的朋友。 – hakre

+0

是的,我想检查如果lvl是空的,如果它是我想** ** yl **从** getlev ** **注意**:lev和lvl是不同的。 – ElDiabl

+0

然后请首先阅读PHP中的请求变量:http://php.net/manual/en/language.variables.external.php - 当您发布问题时,还需要正确缩进代码,其他用户需要阅读它。 – hakre

回答

2

你的问题,我认为是不匹配:

lvl VS lev

+0

不是lvl和lev是不同的。 – ElDiabl

+0

什么提供'lvl' POST值沿重定向发送? – ppeterka

+0

示例。我在页面上显示它通过** lvl **进行页面更新,然后我将** lvl **添加到** $ getlev **并将其返回到页面显示。 – ElDiabl

1

是的,它只会通过ID,因为在接收端你有一个新的条件

if (empty($_POST['lvl'])) { 
    $yl = $_GET['getlev']; 
} 

$yl = $_GET['getlev'];永远不会被设置如果$_POST['lvl']为空

+0

在传递页面$ _POST'lvl']不是空的,因为它正在执行一个函数。 – ElDiabl

0

请记住,当se将它们作为查询字符串的参数。 我个人比较喜欢urlencode所以你会写你的代码如下所示:
header('Location: usucess.php?id='.urlencode($id).'&getlev='.urlencode($getlev));

你正在寻找我认为答案是,你if说法是倒退。
尝试:

if(!empty($_POST['lvl'])){ 
      $yl= $_GET['getlev']; 
}else{ 
      $yl=$_POST['lvl']; 
}