我有一点问题。
我有一个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..";
}
}
}
答案 0 :(得分:0)
strpos
的字符串位置从0开始而不是1.因此,如果该位置为0,则等于false。
简单修复if语句可能会有所帮助
if(strpos($content, $user) !== FALSE){
此函数可能返回布尔值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