2012-10-15 2 views
-2

안녕하세요, 내 구문을 작성하는 데 문제가 있습니다.헤더 값 전달하기

$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'];} 

현재 그것은 단지 내가 잘못 무엇에 어떤 도움을 주셔서 감사합니다 것 $ 아이디을 전달합니다.

lvl

+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

귀하의 문제는 내가 생각이 불일치는 $_POST['lvl']이 비어있는 경우

+0

아니요 lvl과 lev가 다릅니다. – ElDiabl

+0

리다이렉트를 따라 보내질'lvl' POST 값은 무엇인가? – ppeterka

+0

예제. 나는 ** lvl **을 페이지 업데이트로 전달하는 페이지에있다. ** lvl **을 ** $ getlev **에 넣고 페이지 쇼에 반환한다. – ElDiabl

1

lev 대 네, 그것은 단지 당신이

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

$yl = $_GET['getlev'];가 설정되지 않을 것입니다 새 조건을 가지고 있기 때문에 수신 측에 ID를 전달합니다 :

+0

전달 페이지 $ _POST'lvl ']은 함수를 수행 중이므로 비어 있지 않습니다. – ElDiabl

0

다음과 같은 경우 변수를 이스케이프해야합니다. 매개 변수를 쿼리 문자열에 지정합니다. 개인적으로 urlencode 그래서 당신과 같이 코드를 작성 거라고 선호 :
header('Location: usucess.php?id='.urlencode($id).'&getlev='.urlencode($getlev));

그리고 내가 생각하는 당신이 찾고있는 해답이 if 문 거꾸로 것입니다.
시도 :

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