Hallo !
Ich habe ein Adressbuch, wenn ich einen Eintrag über ein Formular eingebe, dann wird dieser (mit meinem Perlscript)
in eine txt datei gespeichert.
der Eintrag sieht dann so aus :
Name|Firstname|Street|Nr|Code|City|Tel|eMail
A|A|Astreet|01001|010101|NY|0010/1110010|name@name.ca
B|B|Bstreet|11001|11101|NY|0010/1110010|name@name.net
C|C|Cstreet|11001|11101|NY|0010/1110010|name@name.net
D|D|Dstreet|11001|11101|NY|0010/1110010|name@name.net
Ich möchte gerne einen Eintrag löschen, in dem ich ein Formular ausfülle und jedes Feld ausfülle ( in diesem Fall 8 Felder) Name, Firstname etc.
A A Astreet etc. und dann nur noch auf einen button click
Renee hat mir schon ein Script geschrieben, aber ?
In diesem Script muss man nur ein Feld ausfüllen.
Wer kann mir das Script neu schreiben oder Renee kannst du es nachbessern ?
vielen Vielen dank
rom
mein Script zum speichern:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl
read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
open(COMMENTS, ">>data.txt"); # HTML-Datei zum Schreiben öffnen
$Daten =~ tr/&=+/| -/;
$Daten =~ s/Name/\ \;/g;
$Daten =~ s/Firstname/\ \;/g;
$Daten =~ s/Street/\ \;/g;
$Daten =~ s/Nr/\ \;/g;
$Daten =~ s/%2F/\/\;/g;
$Daten =~ s/Code/\ \;/g;
$Daten =~ s/City/\ \;/g;
$Daten =~ s/Tel/\ \;/g;
$Daten =~ s/eMail/\ \;/g;
$Daten =~ tr/;/ /;
$Daten =~ s/[ ]| //gi;
#$Daten =~ s/+/\-\;/g;
print COMMENTS "$Daten\n";
close(COMMENTS);
########################################
script von renne:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /usr/bin/perl
use strict;
use diagnostics;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $cgi = CGI->new();
my %params = $cgi->Vars();
print $cgi->header(-type => 'text/html');
my $file = './data.txt';
open(R_FILE,"<$file") or die($!);
my @entries = <R_FILE>;
close R_FILE;
foreach(@entries){
if($_ =~ /^$params{input_text_name}/){
$_ = "";
}
}
open(W_TXT,">$file") or die($!);
print $_ for(@entries);
close W_TXT;
print "Der Eintrag $params{input_text_name} wurde gelöscht";
format_c Edit: Code-Tags eingefügt.
Gruß alex\n\n
<!--EDIT|format_c|1081533948-->