php - 用户$ _post从表单中搜索TXT文件

时间:2014-03-03 02:10:52

标签: php forms file post input

我有一点问题。

我有一个txt文件,我可以写用户名。 多好啊!

但我试图通过用户输入搜索txt文件($ _POST ['username'])。 我让用户不是一直存在..

是谁可以给我一些提示?

我的txt文件包含: 的
管理员
谢尔顿
便士

以下是代码:

$user = $_POST['username'];

function CreateAccount($user){

if($_POST['reg']){

    $file = 'test.txt';
    $data = $user ."\n";
    fopen($file, 'a');
    file_put_contents($file, $data, FILE_APPEND);

}


}

function userSearch($user){

if($_POST['read']){

    $file = 'test.txt';
    $searchUser = $user;
    fopen($file, 'r');
    $content = file_get_contents($file);

    if(strpos($content, $user)){
        echo "exist";
    }else{
        echo "nope..";
    }

}
}

2 个答案:

答案 0 :(得分:0)

strpos的字符串位置从0开始而不是1.因此,如果该位置为0,则等于false。

简单修复if语句可能会有所帮助

if(strpos($content, $user) !== FALSE){

PHP strpos

  

此函数可能返回布尔值FALSE,但也可能返回非布尔值,其值为FALSE。有关更多信息,请阅读有关布尔值的部分。使用===运算符测试此函数的返回值。

答案 1 :(得分:-1)

<强> t.txt:

  

管理员
谢尔顿
伦纳德

<强> t.php

<?php
$file = "t.txt";
$name = "Sheldon";
$string = file_get_contents($file);
$array = file($file, FILE_IGNORE_NEW_LINES);

if(in_array($name,$array)){
    echo "found ";
}else{
    echo "nope ";
}

if(strstr($string,$name)){
    echo "found ";
}else{
    echo "nope ";
}
?>

<强>输出: found found