2017-02-15 1 views
2

기본적으로 루프는 내 프로젝트 폴더에있는 텍스트 파일을 실행합니다. 그리고 내가 웹 페이지에 인쇄 할 때하는 일은 특정 ID를 찾는 것입니다. $id 실제로 id가 있는지를 확인하기 위해 $ id를 반향 출력 해 보았습니다. 그래서 나는 이것이 왜 작동하지 않는지 너무 확신하지 못합니다. Pforeach 루프를 찾을 수 없음 var

<?php 
    require 'steamauth/steamauth.php'; 
    require 'steamauth/userInfo.php'; 

    $id = $_SESSION['steamid']; 
    $pid = $id; 
    echo "pid = $pid \n" . "<br />"; 
    $lines = file('admins.txt'); 
    foreach ($lines as $line_num => $line) { 
     echo "" . htmlspecialchars($line) . "<br />\n"; 
     if($line == $id){ 
      echo "found"; 
     } 
    } 
    ?> 
+2

'if (strpos ($ id, $ line)! == false) { echo "found"; }'''session_start();'가 필요합니다. –

+0

왜 $ id에 값을 할당하고 $ id의 값을 $ pid에 할당합니까? 내게 쓸데없는 것 같아요 – GordonM

+0

@Anant 당신의 테스트는 가양 성을 유발할 것입니다. "102"는 "10210"과 일치합니다. – GordonM

답변

1

먼저 comparring 전에 트림을 추가합니다 : 바보는 아마 뭔가 그래서 내가 PHP에 새로운 오전 명심하십시오 -

session_start(); 수동을 기반으로 페이지 코드 그리고

누락 : - http://php.net/manual/en/function.file.php

사용 FILE_IGNORE_NEW_LINES을 아래와 같이 : - 이제

$lines = file('admins.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 

것은 확인 : -

if($line == $id){ 
    echo "found"; 
} 

또는

if(strpos($id,$line)!==false){ 
    echo "found"; 
} 
+0

은 완벽하게 작동했습니다. 감사합니다. –

+0

@AaronFox가 도와 드리겠습니다. 건배 :) :) :) –

-1

$ ID로 라인 내용

<?php 
    require 'steamauth/steamauth.php'; 
    require 'steamauth/userInfo.php'; 

    $id = $_SESSION['steamid']; 
    $pid = $id; 
    echo "pid = $pid \n" . "<br />"; 
    $lines = file('admins.txt'); 
    foreach ($lines as $line_num => $line) { 
     echo "" . htmlspecialchars($line) . "<br />\n"; 
     if(trim($line) == trim($id)){ 
      echo "found"; 
     } 
    } 
?>