我正在开发一个 PHP 页面:
从 db 文件中读取项目;
将项目转换为保管箱项目;
提交表格以移除选中的项目;接着
另一个页面删除并写入文件
问题:
移除页面可以回显贴出的字符串;
删除页面无法从 db 文件中删除已发布的字符串;和
我尝试在删除页面上对字符串进行硬编码,直接运行删除页面,字符串可以从db文件中删除。即从
$str=str_replace($HTTP_POST_VARS["RMBOX"],'',$str);
到$str=str_replace('abc@email.com','',$str);
代码和db文件如下:
文件(命名为 mailto)包含以下行:
abc@email.com
Dropbox 页面(名为 mbox.php)包含以下行:
<form action="rmbox.php" method="post" name="items">
<?php
$db = "mailto";
?>
<table>
tr><th ALIGN=LEFT>Remove Recipient</th></tr>
<tr><th ALIGN=LEFT>
<select name=RMBOX>
<option selected="selected"></option>
value="<?php
$handle = @fopen($db, 'r');
if ($handle) {
while (!feof($handle)) {
$line = fgets($handle, 4096);
$item = explode('|', $line);
echo '<option value="' . $item[0] . '">' . $item[0] . '</option>' . "\n";
}
fclose($handle);
}
?>
</select>
<th></tr></table>
<input type="submit" name="submit" value="Remove" />
</form>
删除页面(命名为 rmbox.php)包含以下行:
<?php
$db = "mailto";
$str=implode("\n",file($db));
$fp=fopen($db,'w');
echo $HTTP_POST_VARS["RMBOX"];
$str=str_replace($HTTP_POST_VARS["RMBOX"],'',$str);
fwrite($fp,$str,strlen($str));
?>