根据文本文件验证表单

时间:2014-08-22 16:54:09

标签: php forms validation

我的网站上有一个简单的表单输入框,用户输入一个4位数的代码到&提交。我需要该代码来匹配文本文件中的代码列表。如果没有,它只会返回一个错误。如果是这样,它将执行另一个功能。使用PHP。

我在努力研究如何与该文本文件进行比较,对我来说似乎很简单......

我感谢你的所有帮助,从SO中学到了很多东西。

伊恩

1 个答案:

答案 0 :(得分:3)

由于您尚未提供文件或PHP代码示例,因此请提交以下内容:

考虑data.txt包含且.csv文件中没有逗号,这将有效。

1111
1112
1113

PHP

<?php
$search = "1111";
$file = "data.txt";

    if (preg_match('/^' . $search . '$/m', file_get_contents($file))) {
        echo "$file DOES contains $search\n";

    } else {
        echo "$file does NOT contain $search\n";
    }

这是另一种可以使用或不使用逗号分隔文件的方法:

1111,
1112,
1113,

PHP

<?php

$search = "1111";
$file = fopen("data.txt", "r") or die("Cannot open file!\n"); 
while ($line = fgets($file, 1024)) { 

//if (preg_match("/\b1111\b/i", $line)) { 

if (preg_match("/\b$search\b/i", $line)) { 

        echo "<b>Found match: " . $line . "</b>";
    } else { 
        echo "No match: " . $line; 
    } 
} 
fclose($file);