Mittels
print '<form action="http://localhost/cgi-bin/gaestebuch.pl" method="POST">';
print '<input type="hidden" name="action" value="delete" />';
....
<input type="checkbox" name="$hash_ref->{'id'}" value="$hash_ref->{'id'}" />
übergebe ich den Wert der checkbox an ein Unterprogramm
elsif ($query->param('action') eq 'delete') {
delete();
}
sub delete {
print $query->header;
my $sql = "DELETE FROM eintraege WHERE id=$query->param($hash_ref->{'id'}) LIMIT 1";
my $sth = $dbh->prepare($sql) || die "$dbh->errstr";
print $query->start_html(-title=>'Adminfunktionen',
-author=>'jl@visualgrafyx.com',
-style=>{'src'=>'../stylesheets/style.css'});
print "<p>Eintrag erfolgreich gelöscht</p>\n";
print $query->end_html;
}
Es erscheint folgender Fehler:
Software error:
Not enough arguments for delete at D:\Server\Apache2\cgi-bin\gaestebuch.pl line 72, near "delete()"
Global symbol "$hash_ref" requires explicit package name at D:\Server\Apache2\cgi-bin\gaestebuch.pl line 311.
Execution of D:\Server\Apache2\cgi-bin\gaestebuch.pl aborted due to compilation errors.
Wie müsste es richtig heissen? Ich komme mit diesen Checkboxen nicht so ganz klar.