[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian]:Perl: Frage zu CGIs & SQL(DBI)



Thomas Bader hat gesagt: // Thomas Bader wrote:

> ich habe eine Frage zu Perl, und zwar speziell zum Handling von
> Variablen, die per POST oder GET übergeben werden und dann das
> übernehmen in ein SQL-Statement.
> 
> Wenn ich ein Form habe, etwa so:
> 
> **-------------------------------------------------------------------** 
> 	<form action="xy.pl" method="POST">
> 	<input type="text" name="Name" value="Bader">
> 	<input type="text" name="Vorname" value="Thomas">
> 	<input type="submit" value="Eintragen">
> 	</form>
> **-------------------------------------------------------------------**
> 
> Dann kann ich nachher im Skript (dank CGI.pm) darauf zugreifen mit
> "(param('Name'))". 

> [...]

> Meine Frage nun: Wie kann ich Variablen, die per POST oder
> GET reinkommen in ein SQL-Statement übernehmen?
> 
> Am bequemsten wäre es, wenn es von CGI.pm eine Funktion gäbe, die die
> Variablen aus dem Form als Parameter darstellen würde, z.B. so:
> 
> **-------------------------------------------------------------------**
> my $sth = $dbh->prepare("INSERT INTO Adressen VALUES (\"$Name\",\"Vorname\")");
> **-------------------------------------------------------------------** 
> 
> Allerdings habe ich zu dieser Funktion nichts in der Manpage zu CGI
> gefunden.

Naja, das musst du halt selber machen. Ich habe in meine Skripten schon
allein der Übersicht zuliebe meist so etwas stehen:

my $name = $query->param("name");
my $vorname = $query->param("vorname");

# Vielleicht noch für exotische Namen wie " Jeanne D'Arc ":
$name   = $dbh->quote("$name");

# Und dann
my $sql = "INSERT INTO Revoluzzer VALUES ( $name, $vorname ) ";
my $sth = $dbh->prepare("$sql")  || die "elendig";
my $rc = $sth->execute()         || die "einsam" ;

Aber wie der Perl-Programmierer sagt: "Timtoady, es gibt auch andere Wege
zum gleichen Ziel zu kommen..."

bye
-- 
                                                 __    __
 Frank Barknecht       ____ ______   ____ __ trip\ \  / /wire ______
                      / __// __  /__/ __// // __  \ \/ /  __ \\  ___\	
                     / /  / ____/  / /  / // ____// /\ \\  ___\\____ \	
                    /_/  /_____/  /_/  /_//_____// /  \ \\_____\\_____\
                                                /_/    \_\ 
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     761


Reply to: