cript @PHP para remover endereços de email de uma lista separada por vírgula [fechada]

Eu administro um site pequeno e meus usuários solicitaram que eu configurasse uma lista de endereçamento. Encontrei um script gratuito simples que adiciona endereços de email a um arquivo de texto protegido,email.txt, no formato CSV:

[email protected],[email protected],blah,blah,blah

O script funciona perfeitamente. No entanto, é um incômodo percorrer o arquivo para remover manualmente os endereços de email quando os usuários cancelam suas inscrições na lista. Preciso criar um script simples que remova endereços de emai

@All que eu quero é um script PHP simples que exibe uma caixa de texto para que os usuários possam inserir seus endereços de e-mail e clicar no botão "Cancelar boletim". O script deve pesquisar o arquivo de texto, encontrar o endereço de email fornecido e removê-lo e sua vírgula à direit

Por exemplo, diga o conteúdo deemail.txt estamo

[email protected],[email protected],[email protected]

Se eu digitar "[email protected]" na caixa de texto exibida pelo script desejado, desejo que o arquivo fique assim:

[email protected],[email protected]

ATUALIZA: Tentei este código:

<?php
        function showForm() {
            echo '
            <form method="post" action="">
            Email Address: <input type="text" name="email"> <br />
            <input type="submit" value="Cancel Newsletter" name="submit">
            </form>
            ';
        }

        $_POST['email']

        $to_delete = 'email';
        $file = array_flip(explode(",",file_get_contents("email.txt")));
        unset($file[$to_delete]);
        file_put_contents("email.txt",implode(",",array_flip($file));

        if(!$file_put_contents) {
            die('Error occured');
        } else {
            echo 'Your subscription has been cancelled. You will not receive any further emails from us.';
        }
    }
} else {
    showForm();
}
?>

Este código nem mostra o formulári

UPDATE 2:

Outra tentativa de escrever este script:

<?php
    $email = $_POST["email"];
    $text = file_get_contents("email.txt");
    $oldWord = "$email";
    $newWord = "";
    $text = str_replace($oldWord , $newWord , $text);
    $fp = fopen('email.txt', 'w');
    fwrite($fp, $text);
    fclose($file);
?>

Isso funciona na remoção do endereço de email, mas não há nenhum anúncio (eco). Gostaria que ele dissesse "que o email não está inscrito" ou "você foi removido", com base no fato de o script encontrar com êxito o$email na lista e a exclu

UPDATE 3 31 de dezembro de 2011:

Eu tentei o código avançado e acabei de obter uma página em branco, então voltei para a minha versão. Aqui está o código que tenho agora:

<html>
    <body>
        <form method="post" action="">
            <p>Email Address: <input type="text" name="email"></p>
            <input type="submit" value="Cancel Newsletter" name="submit">
        </form>

        <?php
            $email = $_POST["email"];
            $basetext = file_get_contents("email.txt");
            $oldWord = "$email";
            $newWord = "";
            $text = str_replace($oldWord , $newWord , $basetext);
            $str1 = $basetext;
            // echo strlen($str1);
            $str2 = $text;
            // echo strlen($str2);
            $fp = fopen('email.txt', 'w');
            fwrite($fp, $text);
            if ($str1 > $str2) { // This part handles the success/fail message
                echo ("Success!");
            } else {
                echo ("Fail!");
            }
            fclose($file);
        ?>
    </body>
</html>

Isso funciona perfeitamente. No entanto, ele exibe a mensagem "falha" quando a página é carregada, e não quando acionada para carregar, depois que o botão enviar é pressionad

Gostaria de manter o código original, se possível, apenas reorganizado para mostrar apenas "Sucesso!" ou "Falhe!" depois de executar o código.

Gostaria que as mensagens de eco fossem o último script executado na págin

questionAnswers(5)

yourAnswerToTheQuestion