php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > ASP, PERL, CGI, C und alles andere
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


ASP, PERL, CGI, C und alles andere Wolle ma net so sein. Obwohl Perl, ASP, C und TCL zu den minderwertigen Internet-Skriptsprachen zählen, dürfen ab sofort hierzu auch Fragen gestellt werden. ;)

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-11-2003, 11:36
weberm
 Newbie
Links : Onlinestatus : weberm ist offline
Registriert seit: Nov 2003
Beiträge: 1
weberm ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Perl] Hilfe Formular an mail mit Shop Tabelle

Hi Leute!
Hab keine Ahnung vom Ganzen. Habs geschafft einen Shop zu konstruieren. Der läuft.
Nur, wenn ein User die Daten nun abschicken möchte hab ich das Problem, dass zwar
die Formularfelder ankommen. Die Daten des Shops sind in einer normalen Tab ebenfalls
im Form inegriert werden aber nicht verschickt. Gibts eine Möglichkeit die Eingabefelder und die Tab zu versenden??
Danke ich steh im Walde
Matthias

Das script mit dem ich die Form Felder aus HTML versende:


#! /usr/local/bin/perl
#
# Express-Mail Script:
# ===========================

use CGI qw(:standard);
use strict;

# ===========================
# Konfiguration
# ===========================

# E-Mail an die das Mail gesendet werden soll
# ist jeweils als eigenes hidden Field in der
# HTML Seite vorhanden.
# Ebenso die E-Mail Absender-Adresse, die direkt
# aus den Formular gelesen wird, dies ermöglicht
# die Verwendung von Reply.

# default Adressen
# ===========================
my ($MAILTO) = "weber\@as-verlag.ch";
my ($MAILFROM) = "Webserver <weber\@as-verlag.ch>";

# E-Mail Titel
# ===========================
my ($MAILSUBJ) = "Bestellung AS Verlag";

# ===========================
# Applikations Angaben
# ===========================
# Mailformular für Express Seite. Der Empfänger kann
# via ein hidden Field in der Seite bestimmt werden.
# Dies ermöglicht einfaches ändern des Empfängers.

# HTML-Seite welche als Bestaetigung fuer das Ausfuellen des
# Formulars ausgegeben werden soll.
# Die Adresse wird als Redirect an den Browser geschickt.
# wenn in cgi-bin Directory, sonst volle URL: http://...
# ===========================
my ($OKURL) = "http://www.as-verlag.ch/neu/warenkorb/danke.html";
my ($ERRURL) = "http://www.as-verlag.ch/neu/warenkorb/fehler.html";

# Reihenfolge der Benutzerdaten
# ===========================
my (@ORDER0) = ("Vorname", "Nachname", "Strasse", "Ort", "PLZ", "Land", "e-Mail");

# Verlangte Eingaben (müssen gemacht werden)
# ===========================
my (@REQUIRED) = ("Vorname", "Nachname", "Strasse", "Ort", "PLZ", "Land");

# Titel zur Mail
# ===========================
my (@MAINTITLE) = ("Bestellung\n\n");

# ABSTAND von links
# Da z.T. keine Tabulatoren unterstützt sind,
# kann nun der Abstand direkt angegeben werden
# dabei sollten die einzelnen Listeneinträge nicht
# mehr Zeichen als der Abstand haben.
# ===========================
my ($ABSTAND) = 25;

# != 0, alle Felder des Bestellers ausgeben, auch solche ohne Inhalt
# 0, nur die ausgefuellten Felder versenden
my ($SHOWALL) = 0;

#################################################################
#################################################################
#
# Unterhalb dieser Linie ist nichts zu veraendern
#
#################################################################
#################################################################

# Pfad zu sendmail

my ($SENDMAIL) = "/usr/lib/sendmail";

my ($query) = CGI::new; # neues CGI-Object

my ($text) = "";
my ($noerror) = 1;

&check_required if (@REQUIRED);
&prepare;
&send_mail ($text);

##################################################################
# Testen ob alle gewuenschten Felder gefuellt wurden
##################################################################

sub check_required
{
my ($missing) = 0;

foreach (@REQUIRED) {
$missing = 1 unless ($query->param($_));
}
if ($missing) { # etwas fehlt?
$noerror = 0;
&redirect ($ERRURL);
}
}

##################################################################
# prepare bereitet den zu schreibenden Text vor.
##################################################################

sub prepare
{
$MAILTO = $query->param("Empfaenger");
$MAILFROM = $query->param("e-Mail");
# Keine Reihenfolge angegeben? Dann alle beliebig
$text = @MAINTITLE[0];
foreach (@ORDER0) {
next unless ($SHOWALL || $query->param($_));
my $tabtext = ": ";
my $len = length($_);

# with tabulators
# my $counttab = 2 - (($len + 1) / 8);
# $counttab = $counttab * 8;

my $counttab = $ABSTAND - $len;
if ($counttab < 0) {
$counttab = 0;
}
for (my $ic = 0 ; $ic < $counttab; $ic++){
$tabtext .= " ";
}
$text .= $_;
$text .= $tabtext;
$text .= $query->param($_);
$text .= "\n";
}
}

##################################################################
# Mail versenden
##################################################################

sub send_mail
{
if ($noerror){
if (open (SM, "|$SENDMAIL $MAILTO")) {
print SM "From: $MAILFROM\n";
print SM "To: $MAILTO\n";
print SM "Subject: $MAILSUBJ\n";
print SM "X-Info: Generated by Webserver CGI-Script\n";
print SM "\n";
print SM "Ausgefuelltes Web-Formular auf ", $query->server_name, "\n";
print SM "Zugriff von ", $query->remote_addr, " (",
$query->remote_host, ")\n";
print SM "\n";
print SM @_;
close (SM);
&redirect ($OKURL);
} else {
# Fehler, Mail kann nicht gesendet werden
&local_error ("Sendmail Error");
}
}
}

sub local_error
{
my ($fehler) = @_;

print $query->header;

print "<html>\n<head>\n";
print "<title>Fehler im Mailscript</title>\n";
print "</head>\n<body>\n";
print "<h1>Fehler im Mailscript</h1>\n";
print "Im Mailscript ist ein Fehler aufgetreten: ";
print "<b>$fehler</b>\n";
print "</body></html>\n";
}

sub redirect
{
my ($url) = @_;

print $query->redirect ($url);
}

#print SM "Die E-Mail des Kunden wurde direkt als Absenderandresse eingefüllt!";
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Adsman Pro - Werbe-Manager V.1.1.0

Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebigem Format, Textanzeigen und Page-Peels mit umfangreichen Text und Flash-Effekte.

30.07.2019 rhs | Kategorie: PHP/ Bannerverwaltung
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

30.07.2019 Berni | Kategorie: MYSQL/ Management
Top-Side.de Php Guest Book

Gästebuch mit Smilies, Ip Sperre und Spammschutz. Anzeige von Datum, Name, E-Mail, Homepage und Icq. Html ist deaktiviert.

26.07.2019 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:20 Uhr.