2014-06-23 2 views
2

왜 이런 이상한 오류가 발생하는지 잘 모릅니다!포스트 요청에서 정의되지 않은 인덱스

PHP 공지 : 정의되지 않은 인덱스 : REFID /var/www/echo.php 라인 5

내가 콘솔 출력을 얻고 있지만, 캔트 refId 에코에. 내가 여기서 뭐 잘못 했니?

<?php 
    $rollUrl = 34; 
    $refId = $_POST['refId']; 
    echo $refId; 
?> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script> 
    $.ajax({ 
     url:'echo.php', 
     type: 'POST', 
     data: { 'refId': "<?php echo $rollUrl ?>" }, 
     success: function(response){ 
      console.log('Getting response'); 
     } 
    }); 
</script> 
+0

이것이 모두 하나의 파일 인 경우 POST가 전송되기 전에'$ _POST '가 참조됩니다. if (count ($ _ POST)> 0)' –

답변

0

변수가 설정되지 않았기 때문에 이러한 현상이 발생합니다. isset

<?php 

$rollUrl=34; 
if(isset($_POST['refId'])) { 
$refId=$_POST['refId']; 
echo $refId; 
} 

?> 

업데이트을 사용 당신은 사용자로부터 입력을 회복 할 수있는 입력 필드에 이름 속성으로 refId을 할당해야합니다.

<input type="text" name="refId" /> 
+1

을 확인하기 위해 해당 블록 주위에 조건부를 추가하십시오. 그것의 모든 하나의 파일. –

+0

입력 필드의 이름을 확인하고 'refId'로 설정했는지 확인하십시오. –

+0

예 ...! 나는 어떤 입력 필드도 갖고 있지 않다. 그 위의 코드. –

1

아래 코드의 주석을 참조하십시오

내가 어떤 오류가 발생하고와 Ajax를 실행하지 않고 시험 때 나를 위해 작동
<?php 
$rollUrl = 34; 

//Only try to process POST if there is something posted *and* refId exists 
if (count($_POST) > 0 && isset($_POST['refId'])) { 
    $refId = $_POST['refId']; 
    echo $refId; 
    //Exit after echoing out the refId so that the HTML below does not also get returned. 
    exit(); 
} 
?> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script> 
    $.ajax({ 
     url:'echo.php', 
     type: 'POST', 
     data: { 'refId': "<?php echo $rollUrl ?>" }, 
     success: function(response) { 
      //Updated log to show the actual response received. 
      console.log('Getting response of "' + response + '"'); 
     } 
    }); 
</script> 

.

+0

밀러 ..! 나는 같은 코드를 u로 실행했다 ..! 사실 붙여 넣은 복사 ..! 하지만 에코가 안 들려. :( –

+0

편집 전이었던 경우 다시 시도하십시오. 내 시스템에 diff라는 파일이 있습니다. 이후에 있었던 경우 콘솔에 있는지 확인하거나 경고음으로 변경하십시오. –

+0

예! 파일 이름을 변경했습니다 ..! 우회적입니다. 에코 값을 얻었습니까? –