i have tried to make 2 textboxes with 1 submit button.
when a user enters a message and name in the 2 textboxes and clicks submit the text is saved to a txtfile (ex: log.txt)
can't get anything to work. can anyone help?

Code: Select all
#C:/perl/bin/perl -w
use DBI;
my $dbh = DBI->connect("DBI:CSV:f_dir=c:/database")
or die "Couldn´t connect to database!\n$!";
my $sth=$dbh->prepare ('CREATE TABLE db_mitarbeiter
(Nachname char(30),
Vorname char(30),
Abteilung char(30),
Telefon integer)')
or die "Couldn´t establish database!\n$!";
$sth->execute();
$sth->finish();
$dbh->disconnect;
Code: Select all
<html>
<head>
<title>Entry form</title>
</head>
<body>
<h1><center>Adressbook</center></h1>
<FORM Action="../cgi-bin/database.pl" Method="post">
<hr>
Please enter <b>both</b> search queries:
<table>
<tr>
<td>Nachname:</td>
<td><INPUT TYPE="text" name="nachname"></td>
</tr>
<tr>
<td>Abteilung:</td>
<td><INPUT TYPE="text" name="abt"></td>
</tr>
</table>
<hr>
<INPUT TYPE="submit" name="suchanfrage" value="suche starten">
<INPUT TYPE="reset" value="Zurücksetzen">
<hr>
<p>If you want to create a new entry<br>
please click <a href="formular2.html">here.</a>
</p>
</form>
</body>
</html>
Code: Select all
<html>
<head>
<title>Entry form</title>
</head>
<body>
<h1><center>New entry</center></h1>
<FORM Action="../cgi-bin/database.pl" Method="post">
<hr>
Enter the new data (please use all fields):
<table>
<tr>
<td>Vorname:</td>
<td><INPUT TYPE="text" name="vorname"></td>
</tr>
<tr>
<td>Nachname:</td>
<td><INPUT TYPE="text" name="nachname"></td>
</tr>
<tr>
<td>Telefonnummer:</td>
<td><INPUT TYPE="text" name="telefon"></td>
</tr>
<tr>
<td>Abteilung:</td>
<td><INPUT TYPE="text" name="abt"></td>
</tr>
</table>
<hr>
<INPUT TYPE="submit" name="eintrag" value="Datensatz eintragen">
<INPUT TYPE="reset" value="Zurücksetzen">
<hr>
<p>To the <a href="formular1.html">search function.</a></p>
</form>
</body>
</html>
Code: Select all
#!c:/perl/bin/perl -w
use strict;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use DBI;
my $DBH;
my $STH;
my $CGI;
my $antwort;
$CGI= new CGI();
###Search or new entry###
if ($CGI->param("suchanfrage")) {
suche ($CGI, $DBH, $STH);
}
elsif ($CGI->param("eintrag")) {
eintragen ($CGI, $DBH, $STH);
}
###Start Subroutine search###
sub suche {
my $nachname=param("nachname");
my $abteilung=param("abt");
$DBH = DBI->connect("DBI:CSV:db_mitarbeiter=d:/Server/xampp/cgi-bin")
or die "Couldn´t establish connection to database!$!";
$STH = $DBH->prepare("SELECT * FROM db_mitarbeiter WHERE Nachname='$nachname' AND Abteilung='$abteilung'")
or die "Couldn´t provide SQL query!$!";
$STH->execute()
or die "Can´t execute:$!";
###Hit###
if ($STH->rows !=0) {
print <<HERE_TEXT1;
Content-Type:text/html
<html>
<head>
<title>Answer</title>
</head>
<body>
<center>
<h1>Search results:</h1>
<hr>
<table border>
<tr>
<td width="200"><b>Familienname:</b></td>
<td width="100"><b>Vorname:</b></td>
<td width="200"><b>Abteilung:</b></td>
<td width="100"><b>Telefon:</b></td>
</tr>
HERE_TEXT1
my @data;
while (@data=$STH->fetchrow_array()) {
my $familienname=$data[0];
my $vorname=$data[1];
my $abt=$data[2];
my $telefon=$data[3];
print qq§<tr>\n<td><b>$familienname</b></td>\n<td>
$vorname</td>\n<td>$abt</td>\n<td>$telefon</td>\n</tr>\n§;
}
print qq§</table>\n<p><a href=\"../htdocs/formular1.html\">New search!</a></p>\n</html>§;
}
###No hit###
else {
print <<HERE_TEXT2;
Content-type:text/html
<html>
<head>
<title>Antwort</title>
</head>
<body>
<p>No results for '$nachname'!</p>
<hr>
<p><a href=\"../htdocs/formular1.html\">New search!</a></p>
</body>
</html>
HERE_TEXT2
}
$STH->finish();
$DBH->disconnect;}
###Ende Subroutine Suche###
###Start Subroutine new entry###
sub eintragen {
my ($nachname, $vorname, $abt, $telefon)= (param('nachname'),
param('vorname'), param('abt'), param('telefon'));
$DBH=DBI->connect("DBI:CSV:db_mitarbeiter=d:/Server/xampp/cgi-bin")
or die "Couldn´t establish connection to database!$!";
$STH=$DBH->do("INSERT INTO db_mitarbeiter VALUES ('$nachname','$vorname','$abt','$telefon')")
or die "Couldn´t provide SQL query!$!";
print <<HERE_TEXT3;
Content-type:text/html
<html>
<head>
<title>Antwort</title>
</head>
<body>
<h4>Database entry:</h4>
<hr>
<p><b>$nachname</b>, $vorname, $abt, $telefon</p>
<hr>
</body>
</html>
HERE_TEXT3
$DBH->disconnect;
}
#Ende Subroutine new entry
Code: Select all
#!/usr/bin/perl
use warnings FATAL => 'all';
use strict;
use CGI qw(param);
open F, ">file.txt";
print F param('textarea-name');
close F;
Code: Select all
<FORM action="cgi-bin/scriptname.pl" METHOD="post">