十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我建议一下吧,文本数据库的例子本来太多,但是为了逻辑简化,最好通过专门接口实现文件与数据的转换,可以采用我下面的模板编写:
创新互联公司:于2013年成立为各行业开拓出企业自己的“网站建设”服务,为上千余家公司企业提供了专业的做网站、成都网站设计、网页设计和网站推广服务, 按需网站策划由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
?php
//文件最前面定义两个全局变量,数据库文件名和用户数组
$pwd_db_file='db.txt';
$UserPassword=array();
//下面的pwd_db_read函数,把文件内容读入到全局数组中
function pwd_db_read(){
global $pwd_db_file, $UserPassword;
$fp=fopen($pwd_db_file,'r');
while ($s=fgets($fp)){
list($usr,$pwd)=explode('|', $s);
$UserPassword[$usr]=$pwd;
}
fclose($fp);
}
//下面的pwd_db_write函数保存数组内容到文件中
function pwd_db_write(){
global $pwd_db_file, $UserPassword;
fp=fopen($pwd_db_file, 'w');
foreach ($UserPassword as $usr=$pwd)
fputs($fp,"$usr|$pwd\n");
fclose($fp);
}
//有了上面的全局变量和函数,要写什么功能都简单
//下面假释本脚本调用的时候通过reg.php?job=adduser=...pass=...
//的格式进行调用,job为add表示添加用户,del表示删除,modi表示修改
//另外的user和pass表示用户名或者密码,job不是以上内容表示登录
//主程序一开始就打开数据库
pwd_db_read();
//下面判断功能
if ($jon=='add'){
if (array_key_exists($user,$UserPassword)) echo "用户 $user 已经存在!"
else $UserPassword[$user]=$pass;//就一句话,简单吧
}elseif (job=='del'){
unset($UserPassword[$user]);//你自己考虑编写是否确认删除的内容
}elseif ($job=='modi'){
if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass;//和添加是不是有点类似
else echo "用户 $user 不存在!"
}else{
if ($UserPassword[$user]==$pass){
echo '密码正确。';
//接下来可能要做许多事情
}else echo '密码错误!';
}
//程序最后保存数据库修改
pwd_db_write();
?
看得懂吗,没有上机调试,语法问题可能难免,如果发现不明白的问题请补充。
折腾。好好的数据库不用,多简单。
用txt文本作为数据库,同时能实现增删改查功能,id又是自动叠加,这就等于一个小型的数据库了。虽然真的数据库也是用文件存储数据,但你想想有多麻烦,趁早换数据库吧。
$file = 'id.txt';
$content = file_get_contents($file);
$array = explode("\n", $content);
//各个系统下的换行符可能会有所不同,不过用得比较多的好像是"\n"
for($i = 0; $i count($array); $i ++) {
//读取一行的信息,如:"29384733----2013-12-29 19:57:20"
$temp = $array[$i];
$items = split("----", $temp);
//假设如题设中的以"----"为不同字段之间的分隔符,如果是其他的,相应修改即可,视具体分隔符而定
echo "id: ".$record [0] . " timestamp:" . $record [1] . "br";
}
附个运行图:(左上方为代码,右上方为用得输入数据,下方为输出结果),如果要添加多个字段的话,同理可以实现的,只要保证所使用的分隔符不会出现在所需要输出的数据中就行。