Forum Moderators: coopster
I have to decrypt the $email variable in order to delete from a flat file database. I am not sure how to do this... It decrypts it and trims it to display on a select field, but I don't know how to make it delete.
<?
#####################
#
# Newsletter subscribers
#
#####################
session_start();
require_once("includes/config.php");
if($_SESSION["valid"] == true)
{
if($_GET["action"] == "add")
{
$fp = fopen("subscribers.txt", "r");
$file_text = fread($fp, 999999);
fclose($fp);
$subscribers = explode(",",$file_text);
foreach($subscribers as $subscriber)
{
if($subscriber == $_GET["email"])
{
$result = 1;
break;
}
else
{
$result = 0;
}
}
if($result == 1)
{
$msg = "
<div class=error>
Cannot add subscriber, subscriber already exists...
</div>
";
}
else
{
$key = "f8ghh9 98sdfhg se98";
$text = $_GET["email"];
$cryptemail = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
$fp = fopen("subscribers.txt", "a+");
fwrite($fp, $cryptemail . ",");
fclose($fp);
$msg = "
<div class=message>
Subscriber added successfully! Yay!
</div>
";
}
}
if($_GET["action"] == "delete")
{
$fp = fopen("subscribers.txt", "r");
$file_text = fread($fp, 999999);
fclose($fp);
$key = "f8ghh9 98sdfhg se98";
$text = $_GET["email"];
$text = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
$email2 = rtrim($text, " \0.");
$fp = fopen("subscribers.txt", "w");
$file_text_new = str_replace("$email2,", "", $file_text);
fwrite($fp, $file_text_new);
fclose($fp);
$msg = "
<div class=message>
Subscriber deleted successfully...
</div>
";
}
if(isset($msg)) $main .= "$msg
<br>
";
$main .= "
<div class=heading2>
Add a subscriber
</div>
<br>
<form name=add action='subscribers.php' method='get'>
<br>
<input class=textField type=text name=email>
<br>
<br>
<input type=hidden name=action value=add>
<input class=button type=submit value=Add>
</form>
<script language=javascript>
var validator = new Validator('add');
validator.addValidation('email','req','Please enter a valid email');
validator.addValidation('email','email','Please enter a valid email');
</script>
<br>
<div class=heading2>
Delete a subscriber
</div>
<br>
<form action='subscribers.php' method='get'>
<br>
<select class=textField name=email>
";
$fp = fopen("subscribers.txt", "r");
while (!feof($fp))
{
$char = fread($fp, 1);
if($char == ",")
{
$key = "f8ghh9 98sdfhg se98";
$text = $buffer;
$buffer = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
$buffer = rtrim($buffer, " \0.");
$main .= "
<option>
$buffer
</option>
";
$buffer = "";
}
else
{
$buffer .= "$char";
}
}
fclose($fp);
$main .= "
</select>
<br>
<br>
<input type=hidden name=action value=delete>
<input class=button type=submit value=Delete>
</form>
";
}
else
{
header("Location: index.php");
}
$page = "subscribers";
require_once("includes/template.php");
?>