Thread html eingabefeld eingabe per perl in sql db (3 answers)
Opened by bendenn at 2012-06-15 17:18

rosti
 2012-06-17 22:11
#159101 #159101
User since
2011-03-19
3205 Artikel
BenutzerIn
[Homepage]
user image
Wahrscheinlich hat Dein Script keinen heade Content-Type... gesendet.
Um ein bischen mehr Struktur reinzubringen habe ich Dir mal ein kleines Script aufgeschrieben, spiel mal ein bischen damit, es könnte als Vorlage für weitere Entwicklungen dienen:

Code (perl): (dl )
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/perl

use strict;
use warnings;
use CGI;

# Alle VARs in der globalen Hash-Referenz $main
my $main = {
        CGI => new CGI,
        eingabe => '',     # Wert vom Eingabefeld
        mesg => '',        # Hinweise für den Anwender
};

print "Content-Type: text/html; Charset=UTF-8\n\n";
print out();

exit;
######################################## Funktionen #######################
# Parameter Kontrolle und dann die Ausgabe
sub out{
        if(param()){
                control();      
        }
        else{
                browse();
        }
        return form();
}

# Keine Parameter
sub browse{
        $main->{mesg} = 'Bitte was eingeben';
}

# Parameter
sub control{
        if(param('klick') || param('eingabe')){
                $main->{eingabe} = param('eingabe');
                $main->{mesg} = "Es wurde was eingegeben ($main->{eingabe}) oder geklickt";
                
                # hier kommt der Code 
                # zum Eintragen in die DB
        }
        else{ 
                $main->{mesg} = 'Unbekannter Parameter';
        }
}

# Formular erzeugen
sub form{
        return qq(
                <p>Mesg: $main->{mesg}</p>
                <form action="$ENV{SCRIPT_NAME}">
                        <input name="eingabe" value="$main->{eingabe}">
                        <input type="submit" name="klick">
                </form>
                <p>
                        <a href="$ENV{SCRIPT_NAME}">Seite neu Laden ohne Parameter</a>
                </p>
        );
}


# Delegate CGI::param Method
sub param{ 
        return $main->{CGI}->param(@_);
}

View full thread html eingabefeld eingabe per perl in sql db