验证文本文件中的重复条目

时间:2014-04-17 11:28:03

标签: javascript php

我正在创建一个网站,将用户信息(如用户名,密码,电子邮件)存储到txt文件中。我到目前为止的代码。

<?php
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
//
//the data
echo "<br>"; 
$data = "$username | $password | $email | $caesar || \n";
$fh = fopen("users.txt", "a");
fwrite($fh, $data);
fclose($fh);
print "User Submitted";
?>

当用户在第一页上填写他们的详细信息并单击“提交”按钮时,它将触发此事件并在users.txt上写入内容。

问题是:

  1. 如何检查 users.txt 中是否有重复条目,如果用户输入重复的条目并按提交,网站会说“重复” < / LI>
  2. 如何在名为 Display.php
  3. 的页面中显示 users.txt 中的所有条目

    我对Php很新,对不起,如果我在编码时犯了错误

    谢谢你们


    感谢@ user3544440

    问题1:

    我已将您的代码放入我的代码中,它没有运行,或者代码的顺序可能是错误的

    echo "<br>"; 
    $data = "$username | $password | $email | $credit | $caesar || \n";
    echo "<br>"; 
    
    //ur code
    
    //my code start again from here
    $fh = fopen("users.txt", "a");
    fwrite($fh, $data);
    

1 个答案:

答案 0 :(得分:0)

1找到重复的条目,你必须阅读所有文件并检查每一行

$flag = 0;
$handle = fopen("user.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $user = explode("|", $line);
        if($user[0] == $_POST['user']){
             $flag=1;
             break;
        }
    }
} else {
    // error opening the file.
} 
fclose($handle);
if($flag==1){
    echo "duplicate entry";
}else{
    //Write user data in the file
}

2显示每行使用相同的循环

$handle = fopen("user.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $user = explode("|", $line);
        echo "name:".$user[0];
        echo "password:".$user[1];
        echo "email:".$user[2];
    }
} else {
    // error opening the file.
} 
fclose($handle);