【问题标题】:Validate Form Against a Text File根据文本文件验证表单
【发布时间】:2014-08-22 16:54:08
【问题描述】:

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

我正在努力与那个文本文件进行比较,对我来说似乎很简单......

感谢您的所有帮助,从 SO 那里学到了很多东西。

伊恩

【问题讨论】:

  • 向我们展示您的 PHP 和您的文本文件示例。
  • 如果您使用 phps explode() 函数将文本文件转换为数组,那么将数组与输入进行比较可能是要走的路。

标签: php forms validation


【解决方案1】:

由于您尚未提供文件或 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    相关资源
    最近更新 更多