php没有mysql数据库的用户注册系统

时间:2015-11-28 13:32:04

标签: php

我想在我的网站上创建一个注册系统,只有有限的用户才能创建自己的帐户。我想使用.txt文件来存储用户名和密码。

到目前为止,我有以下代码:

$uname=$_POST['usr'];
$pass=$_POST['pwd'];

if(empty($_POST["ok"])){echo "Could not insert data!";}
 else
{$file=fopen("user.txt","w");
echo fwrite($file,$uname);
fclose($file);}

这将从表单接收用户数据并将其放入user.txt文件中。

我的问题是,当新数据插入到txt文件时,旧数据会被删除。

我想将数据保存在txt文件中,如

  foo:12345~bar:1111

用户名和密码由分隔,新用户由分隔,稍后我将使用正则表达式从txt文件中获取数据。

如何更正我的代码以保留新旧数据?

5 个答案:

答案 0 :(得分:2)

您需要以附加模式打开文件

http://php.net/manual/en/function.fopen.php

<?php

$uname = $_POST['usr'];
$pass = $_POST['pwd'];

if (empty($_POST["ok"])) {
    echo "Could not insert data!";
} else {
    $file = fopen("user.txt", "a");
    $srt="foo:".$uname."~bar:".$pass;// create your string 
    echo fwrite($file, $srt);
    fclose($file);
}

答案 1 :(得分:1)

  

如果我们想要添加到文件,我们需要在追加模式下打开它。

因此您需要从只写模式更改为追加模式。

$file=fopen("user.txt","a");

答案 2 :(得分:1)

要回答您的问题:您必须明确地将$mode参数传递给fopen()函数等于'a'

但是,使用普通文件执行此任务看起来不错。主要是因为concurent写的麻烦。

答案 3 :(得分:1)

这真是一个糟糕的选择:安全性,读/写时间,并发请求等等都有很多缺点。 使用数据库并不困难,所以我的建议是使用数据库。

无论如何,您的问题仍在此处提出:php create or write/append in text file

答案 4 :(得分:1)

附加到文件的简单方法:

file_put_contents("C:/file.txt", "this is a text line" . PHP_EOL, FILE_APPEND | LOCK_EX);