2012-12-04 53 views
0

我對PHP有疑問。因此,我正在製作一份表格,提交您的姓名,並查看該文件並告訴您已註冊。PHP讀取文件和添加

$file = "Website.txt"; 
$filehandle = fopen($file, "r"); 
while (!feof($filehandle)) { 
    $data = fgets($filehandle); 
    $str = explode(",", $data); 
    for ($i = 0;$i = 2;$i++) { 
     echo $str[$i]; 
     if ($str[$i] == "Kyle") { 
      echo "You are registared!"; 
     } else { 
      echo "You are not registared!"; 
     } 
    } 
} 
fclose($filehandle); 

當我運行代碼它不起作用。請幫忙!

+0

您可以使用PHP_Beautifier來美化你的代碼。 Aslo如何驗證它不起作用? –

+1

您的意思是使用'$ i <= 2'或'$ i <2' ...'($ i = 0; $ i <= 2; $ i ++)'否則您的外觀永遠不會運行,因爲'$ i = 2'立即是錯誤的。 –

+1

你有沒有考慮過使用簡單的數據庫,如'SQLlite','MySQL'或'MongoDB'而不是平面文件 – Baba

回答

1

您在for循環中有錯字。第二部分是作業而不是比較。

0

從它的很難說,如果這是在你的文件正確地看,但如果我是你,我會做這個簡化代碼的代碼:

$file = "Website.txt"; 
$data = file_get_contents($file); 
$array = explode(",",$data); 
foreach ($array as $item) { 
    if ($item == "Kyle") { 
    echo "You're registered!"; 
    } 
} 

注:尚未測試代碼。

我也建議你使用正則表達式,或者至少從剝離你比較項目的空白,就像這樣:

if (preg_match("/needle/",$haystack)) { 
} 

//or 

if (trim($haystack) == "needle") { 
}