Hilfe mit CGI

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von User123, 03.09.2008.

  1. #1 User123, 03.09.2008
    User123

    User123 Grünschnabel

    Dabei seit:
    26.08.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo,

    Ich bräuchte da mal ein bisschen Hilfe zu Perl/CGI.

    Ich habe einen Apache Webserver der funktioniert. Ich habe nun ein HTML Formular erstellt sowie ein kleines CGI Script geschrieben. Nun würde ich gerne die Daten die man ins Formular eingibt in eine weiteres File abspeichern. Könnte mir da jemand helfen?

    Sollte dann etwa so aussehen:

    Vorname: Test
    Nachname: Test
    Text: Test

    Hier das CGI Script:

    Code:
    #!/usr/bin/perl -w
    use CGI(":standard");
    use strict;
    
    my $first = param("txtFirst");
    my $last = param("txtLast");
    my $message = param("txtMessage");
    
    open(SCHREIBEN,">> /opt/apache2/cgi-bin/daten.txt");
    
    print <<irgend_was_komisch;
    Content-type: text/html \n\n
    <html>
    <head><title>Namen der Datenbank</title></head>
    <body bgcolor="#FFFFFF">
    <h2>Name von Datenbank</h2>
    
    <p><b>First Name: </b>$first<br></p>
    <p><b>Last Name: </b>$last<br></p>
    <p><b>Message: </b>$message<br></p>
    
    </body>
    </html>
    irgend_was_komisch
    
    print SCHREIBEN "First Name: $first\n";
    print SCHREIBEN "Last Name: $last\n";
    print SCHREIBEN "Message: $message\n";
    
    close(SCHREIBEN);
    Sowie das Formular:

    Code:
    <html>
    <head>
    <title>Formular</title>
    </head>
    <body bgcolor="FFFFFF">
    <h2>Formular</h2>
    <p>Bitte geben sie ihren Namen und ihre Nachricht ein</p>
    <form action="/cgi-bin/0002.cgi" method=post>
    <p>Vorname: <input type="text" name="txtFirst" size="25" maxlength="24"><br>
    Nachname: <input type="text" name="txtLast" size="25" maxlength="25"></p>
    Message:<br>
    <textarea name="txtMessage" rows="4" cols="55" wrap="virtual"></textarea><br>
    <input type="Submit" name="Submit" value="Submit">
    <input type="Reset" name="Reset" value="Reset"
    </form>
    </body>
    </html>

    Danke für die Hilfe
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 05.09.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    also das Problem das ich mit deinem Post habe, ist dass ich nicht wirklich verstehe wo dir jetzt der Schuh drueckt.
    Was funktioniert denn an deinem Code noch nicht?

    mfg,
    bytepool
     
  4. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    ohne Fehlermeldung und sonstige Problembeschreibung kann man wirklich nicht viel sagen - aber
    ob der Apache da schreiben darf? AFAIK sollte das Verzeichnis nur rx sein...
     
  5. #4 User123, 08.09.2008
    User123

    User123 Grünschnabel

    Dabei seit:
    26.08.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo,

    Danke erstmal für die Antworten.

    Ja das mit den Fehlermeldungen ist ja ein wenig das Problem..Irgendwie gibt es keine..

    Eigentlich sollte es nachdem ich das Dokument ausgefüllt und abgeschickt habe im /opt/apache2/cgi-bin eine .txt Datei erstellen mit den Daten aus dem Dokument.

    Ausfüllen geht auch, sieht das etwa so aus:

    Code:
    Name von Datenbank
    
    First Name: Hallo
    
    Last Name: Hallo
    
    Message: Hallo 
    Diese Daten sollten nun in das .txt File geschriben werden, was aber irgendwie nicht passiert.

    Wenn ich das cgi Script von Hand ausführe, also

    perl test.cgi

    erstellt es mir das Textfile, halt einfach ohne Daten. Also nur

    First Name:
    Last Name:
    Message:

    Hoffe ihr könnte damit etwas anfangen :think:

    Gruss
     
  6. #5 bytepool, 08.09.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    also wenn ich dich richtig verstanden habe, wird die Textdatei gar nicht erst angelegt, wenn der Apache das Skript ausfuehrt. Das klingt doch stark so, als haette marce recht, und es ist ein Rechte Problem:

    Ich wuerde also die Rechte mal ueberpruefen, bzw. mal ein anderes Verzeichnis ausprobieren, in dem der Apache definitiv Schreibrechte hat.

    mfg,
    bytepool
     
  7. #6 User123, 08.09.2008
    User123

    User123 Grünschnabel

    Dabei seit:
    26.08.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo,

    Funktioniert :)

    Hab mal den user und die group angepasst sowie bissel die Rechte geändert und funktioniert nun perfekt :))

    Danke für eure Hilfe
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Hilfe mit CGI

Die Seite wird geladen...

Hilfe mit CGI - Ähnliche Themen

  1. Hilfe.

    Hilfe.: Hallo ich habe centos 7.2.15.11 Ich habe die .rpm Dateien von Epson direkt installiert, aber sonst nichts. Nachdem ich im Terminal...
  2. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  3. [Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

    [Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter: Hallo zusammen, ich bin an einem Punkt angekommen, wo ich nicht mehr weiter komme und hoffe ihr könnt mir weiter helfen. Anbei ein Ausschnitt aus...
  4. Benötige Hilfe- Dateien vergleichen

    Benötige Hilfe- Dateien vergleichen: Hallo, für eine Arbeit an der Uni muss ich einige viele Bilder miteinander vergleichen, was ich gerne durch eine Automatisierung etwas...
  5. Anfänger braucht Hilfe bei DVB-S Installation

    Anfänger braucht Hilfe bei DVB-S Installation: Hallo, ich habe ein Problem. Ich habe openSuse 13.2 frisch installiert. Jetzt soll ein usb-TV-Modul TEVII s660 funktionieren. Ich kann bereits...