2017-02-15 20 views
2

Итак, в основном цикл выполняется через текстовый файл, который находится в папке моего проекта. И то, что я пытаюсь сделать, распечатывая их на веб-странице, находит один конкретный идентификатор, который будет $id. Я пробовал эхо-аут $ id, чтобы увидеть, действительно ли это на самом деле. Поэтому я не слишком уверен, почему это не работает. Имейте в виду, я новичок в PHP так что его, вероятно, что-то немого рforeach loop не находит 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

Первый: -

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

Добавить накладку перед тем comparring на содержание линии до $ ид

<?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"; 
     } 
    } 
?>