PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie funktioniert die Werteübergabe eines HTML-Formulars in ein CGI/Perlskript?



Eagle
27-12-2002, 19:36
Hallo Allerseits,

ich komme im Moment nicht weiter mit dem Entwickeln eines Perlskripts, das mit Hilfe von CGI aus dem folgenden HTML-Formular die übermittelten Werte einliest, um sie für if-else-Verzweigungen zur Verfügung zu stellen.

<form name="" method="post" action="scripts/cgi.cgi">
.
.
<tr>
<td height="30" colspan="2" nowrap>
<div align="center">
<font face="Verdana, Arial, Helvetica, sans-serif"
size="2" color="#4128A8"><input type="submit" value=
"Auswahl aller Modelle" name="submit">
oder
</div>
</td>
</tr>


<tr>
<td height="35">Name:</td>

<td height="35"><input type="text" name="name"></td>
</tr>
.
.
.
</form>
<tr>
<td height="30">Gr&ouml;sse:</td>

<td height="30"><select name="select_groesse">
<option value="1">
mindestens
</option>

<option value="2">
h&ouml;chstens
</option>

<option value="3" selected>
genau
</option>
</select> <input type="text" name="groesse" size="5">
m</td>
</tr>

<tr>
<td height="30">Alter:</td>

<td height="30" nowrap><select
name="select_alter">
<option value="1">
mindestens
</option>

<option value="2">
h&ouml;chstens
</option>

<option value="3" selected>
genau
</option>
</select> <input type="text" name="alter"> Jahre</td>
</tr>

<tr>
<td height="30">&nbsp;</td>

<td height="30"><input
type="submit" value="Suchen"></td>

Ich weiß jetzt nicht, wie ich in diesem Skript programmieren muß, daß alle Werte des Textfeldes, der beiden Selectfelder und der jeweils drei Optionsfelder in dem Perlskript zur Verfügung stehen. Ich möchte nachher anhand der Auswahl entsprechende Sortierungen vornehmen.

Kann mir dabei einer unter Euch behilflich sein? Vielen Dank bereits im Voraus!

Gruß

Andreas

Eagle
27-12-2002, 21:54
Okay,

ich hab' eine kleine Lösung gefunden, aber ich bekomme beim Testen des Skripts mit

perl -c comment.cgi

die Fehlermeldung:

syntax error at comments.cgi line 23, near "$array["
comments.cgi had compilation errors.

Das Skript selber sieht wie folgt aus:

#!/usr/bin/perl -w

use strict;
use CGI;
my $cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);
my @array;
my @temp;
my @arraynames = $cgi->param();
my $i;

print <<END_of_header;
Content-type: text/html

<html>
<head>
<title>Suchergebnis</title>
<link href="../cgi.css" rel="stylesheet" type="text/css">
</head>
<body background="../images/background.gif">
END_of_header
$i=0;
foreach my $array (@arraynames) {
$cgi->$temp[$i]; # SYNTAX-Fehler !!
$i = $i + 1;
}
print <<Finish;
</body>
</html>
Finish


Da ich ja die Feldwerte zum Abfraf'gen benötige versuche ich sie in ein Array mit i Werten ein zu lesen.
Kann mir jemand die korrekte Syntax aufzeigen, die anstelle von

$cgi->$array[$i];

stehen muß?

Besten Dank!

Gruß

Andreas

tomes
28-12-2002, 14:20
so etwas --> http://www.mrunix.de/forums/showthread.php?threadid=30440 ?

T;0)Mes

Eagle
30-12-2002, 15:26
Genau so etwas habe ich gesucht!

Besten Dank für Deine Unterstützung!

Gruss

Andreas :)