用户名和密码写入完了后需要修改怎么做(删除和修改),最好详细一点。谢谢了

根据这个网页
〈form method="post"> 
<input type="text" name="user" /> 
<input type="text" name="pass" /> 
<input type="submit" name="Submit" value="提交" /> 
</form> 
<?php 
/*写入*/ 
if ($_POST[Submit]) { 
$fp=fopen("db.txt","a"); 
fwrite($fp,$_POST[user]."|".$_POST[pass]."\r\n"); //写入数据,中间用|隔开 
fclose($fp); 

我的意思是如果 我的数据库db.txt 里面已经有几条信息了 其中一个是 Z|Z 我如何修改Z|Z 变成W|W  
关于删除我的意思是 db.txt 里面已经有几条信息了 其中一个是 Z|Z 我如何删除 Z|Z这一条信息

幕布斯7119047
浏览 105回答 2
2回答

噜噜哒

重写了一下,功能相对完善了一些。实际应用你可以简单封装,最起码能减少一半代码量。其他的比如搜索等等,你看过代码自己也应该能写出来。------代码段--------------------------------------------<form method="post"><input type="text" name="user" /><input type="text" name="pass" /><input type="submit" name="Submit" value="提交" /></form><?php/*写入*/if ($_POST[Submit]) {$fp=fopen("db.txt","a");fwrite($fp,$_POST[user]."|".$_POST[pass]."|".time()."\r\n"); //写入数据,中间用|隔开fclose($fp);}/*读取*/$lines=file("db.txt");foreach ($lines as $value) {$line=explode("|",$value);echo "no1:$line[0]--no2:$line[1]---time:$line[2]--<a href=test.php?act=del&time=$line[2]>删除</a>--<a href=test.php?act=mod&time=$line[2]>修改</a><br>";}/*删除*/if ($_GET[act]=="del") {$time=trim($_GET[time]);foreach ($lines as $key=>$value) {$line=explode("|",$value);if (trim($line[2])==$time) { //遍历数组,定位符合条件的key,并删除改行unset($lines[$key]);break;}}unlink("db.txt");$fp=fopen("db.txt","w");foreach ($lines as $value) {fwrite($fp,$value); //写入删除后的新数组}fclose($fp);echo "<script>location.href='test.php';</script>";}/*修改*/if ($_GET[act]=="mod") {$m1="修改值1";$m2="修改值2";$m3=time();//修改时间$time=trim($_GET[time]);foreach ($lines as $key=>$value) {$line=explode("|",$value);if (trim($line[2])==$time) { //遍历数组,定位符合条件的key,并修改改行$lines[$key]=$m1."|".$m2."|".$m3."\r\n";break;}}unlink("db.txt");$fp=fopen("db.txt","w");foreach ($lines as $value) {fwrite($fp,$value); //写入修改后的新数组}fclose($fp);echo "<script>location.href='test.php';</script>";}//print_r("<pre>");//print_r($lines);?>&nbsp;

芜湖不芜

我建议一下吧,文本数据库的例子本来太多,但是为了逻辑简化,最好通过专门接口实现文件与数据的转换,可以采用我下面的模板编写:<?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=add&user=...&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();?>看得懂吗,没有上机调试,语法问题可能难免,如果发现不明白的问题请补充。&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP