Martiano: neue *pl erstellen

Beitrag lesen

Hallo,
mein Freund der einen kleinen Buchversand hat wurde das CGI abgeschaltet.
Ich habe einen Server auf dem ich es laufen lassen könnte habe aber keine Ahnung von Perl. Nur html und css.

Ich habe versucht das script von hier ein bisschen anzupassen weiss aber nicht ob es funktionieren kann.
Vor allem weiss ich nicht wo ich www.meine_website.de/danke.htm einsetzen soll.

Wenn jemand mir helfen will hier der gekürzte Code des Formulars, darunter das von mir umgeschriebene buchversand.pl.

Formular:

<HTML>
<HEAD>
<TITLE>Online-Bestellung</TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!--
 gekürzt...

//-->
</SCRIPT>

</HEAD>
<BODY  BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" ALINK="#400080"  VLINK="#880088">
 <P>
  <FONT COLOR="#000000" size="2" FACE="Arial,MS Sans Serif,Helvetica">
   <h1>Bestellformular </h1>
   <HR>
   <BR><BR>
  <FONT>
 </p>

<SCRIPT LANGUAGE="JavaScript">
 <!--

tag("P");
   document.write("<FONT COLOR="#000000" size="2" FACE="Arial,MS Sans Serif,Helvetica">");
    document.write("<H3>An:</H3>");

if ("mein_name"!="") {document.write("mein_name<BR>");}
    if ("mein_Buchversand Buchversand"!="") {document.write("mein_Buchversand Buchversand<BR>");}
    document.write("Strasse Nr.<BR>");
    document.write("PLZ Ort<BR>");
    if ("04532-82949"!="") {document.write("Tel: 04532-82949 ");}
    if ("04532-82942"!="") {document.write("Fax: 04532-82942");}
    document.write("<BR>");
    if ("meine-Email@xxx.de"!="") {document.write("E-Mail: <a href="mailto:meine-Email@xxx.de">meine-Email@xxx.de</a><BR>");}
    if ("http://www.meine-website.de"!="") {document.write("Homepage: <a href="http://www.meine-website.de">http://www.meine-website.de</a><BR>");}

document.write("<BR>");
    document.write("<H3>Ihre Daten:</H3>");

gekürzt...

//-->
 </SCRIPT>

<BR>
   <table border="1" cellpadding="0" cellspacing="1">
    <Tr BGCOLOR="#000000">
      <th align="right">
       <FONT color="#FFFFFF" size="2"  FACE="Arial,MS Sans Serif,Helvetica">
        &nbsp;Menge&nbsp;
       </FONT>
      </th>
      <th align="right">
       <FONT color="#FFFFFF" size="2"  FACE="Arial,MS Sans Serif,Helvetica">
        &nbsp;Artikelnr&nbsp;
       </FONT>
      </th>
      <th align="left">
       <FONT color="#FFFFFF" size="2"  FACE="Arial,MS Sans Serif,Helvetica">
        &nbsp;Bezeichnung&nbsp;
       </FONT>
      </th>
      <th align="left">
       <FONT color="#FFFFFF" size="2"  FACE="Arial,MS Sans Serif,Helvetica">
        &nbsp;Einzelpreis&nbsp;<br>&nbsp;in €
       </FONT>
      </th>
      <th align="left">
       <FONT color="#FFFFFF" size="2"  FACE="Arial,MS Sans Serif,Helvetica">
        &nbsp;Gesamtpreis&nbsp;<br>&nbsp;in €
       </FONT>
      </th>
      <th align="left">
       <FONT color="#FFFFFF" size="2"  FACE="Arial,MS Sans Serif,Helvetica">

<SCRIPT LANGUAGE="JavaScript">
       <!--
        var i,ua=navigator.appName;
        if (parent.waehr.length>0)
        {
         document.write("&nbsp;Gesamtpreis&nbsp;<br>&nbsp;in &nbsp;");
         if (ua.indexOf("Microsoft")>-1)
         {
          document.write("<SELECT NAME="WAEHR" ONBLUR="javascript:wchange(value)" ONCHANGE="javascript:wchange(value)">");
          i=parent.awaehr;
          document.write("<OPTION VALUE=""+i+"">"+parent.waehr[i].land+"</OPTION>");
          for (var i=0; i<parent.waehr.length; i++)
          {
           if (parent.waehr[i].land != "" && i!=parent.awaehr)
           {
            document.write("<OPTION VALUE=""+i+"">"+parent.waehr[i].land+"</OPTION>");
           }
          }
          document.write("</SELECT>");
         }
         else
         {
          document.write(parent.waehr[parent.awaehr].land);
         }
        }
       //-->
       </SCRIPT>

</FONT>
      </th>
    </tr>

<SCRIPT LANGUAGE="JavaScript">
     <!--

Code für den Warenkorb gekürzt...

s="meine-Email@xxx.de";
     if (s=="") {s="meine-Email@xxx.de"}

var sub="";
     if (sub.length>0)
     {
      if (sub.substring(sub.length-1,sub.length)=="/")
      {
       sub=sub.substring(0,sub.length-1) ;
      }
       if(sub.search("http") == -1){sub="http://"+sub;}
     }
     if (""!="")
     {
      sub=sub+"/"+"";
      if (sub.substring(sub.length-1,sub.length)=="/")
      {
       sub=sub.substring(0,sub.length-1) ;
      }
     }
     if (sub.length>0)
     {
      sub=sub+"/submit.htm";
     }
     else
     {
      sub="submit.htm";
     }

if ("0"=="1")
     {
      document.write("<FORM ACTION="" METHOD="POST" ONSUBMIT="return Bestellung(this)">");
     }
     else
     {
      if ("0"=="2")
      {
       document.write("<FORM ACTION="http://www.afs-online.de/cgi-bin/FormMail.pl" METHOD="POST" ONSUBMIT="return Bestellung(this)">");
      }
      else
      {
       document.write("<FORM ACTION="mailto:"+s+" ?subject=Bestellung von "+Name+"" METHOD="POST" ENCTYPE="text/plain" ONSUBMIT="return Bestellung(this)">");
      }
     }
     document.write("<P>");
     document.write("<INPUT TYPE="HIDDEN" NAME="recipient" VALUE=""+s+"">");
     document.write("<INPUT TYPE="HIDDEN" NAME="subject" VALUE="Bestellung von "+Name+"">");
     document.write("<INPUT TYPE="HIDDEN" NAME="email" VALUE=""+parent.anschrift.E_Mail+"">");
     if (""!="Wahr")
     {
      document.write("<INPUT TYPE="HIDDEN" NAME="redirect" VALUE=""+sub+"">");
     }
     else
     {
      document.write("<INPUT TYPE="HIDDEN" NAME="afssub" VALUE=""+sub+"">");
     }
     document.write("<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE=""+bestell+"">");

//-->
     </SCRIPT>

<INPUT TYPE="BUTTON" NAME="" VALUE="<- zurück" ONCLICK="JavaScript:history.back()">
    <INPUT TYPE="BUTTON" NAME="" VALUE="- Ausdrucken -" ONCLICK="JavaScript:print()">
    <INPUT TYPE="SUBMIT" NAME="" VALUE="Bestellung absenden ->">

</p>
   </FORM>

</FONT>

</div>
</BODY>
</HTML>
..............................................................

Hier das geänderte buchversand.pl:

#!/usr/bin/perl

-------> Individuelle Parameter des Skriptes - bitte anpassen!

--> SMTP-Programm zum Versenden der Mail:

$Sendmail_Prog = "/usr/lib/sendmail";

--> Ziel-Mailadresse, an die gesendet werden soll:

$mailto = 'meine-Email@xxx.de';

-------> Modul für CGI-Scripts einbinden:

use CGI;

-------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden:

$query = new CGI;
@names = $query->param;

-------> interne Daten aus den erwarteten hidden-Feldern auslesen:

$delimiter = $query->param('delimiter');  # ---> Begrenzerzeichen zwischen name und value
$returnhtml = $query->param('return');    # ---> URL für Dankeseite
$subject = $query->param('subject');      # ---> E-Mail-Subject

-------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln

#             VERHINDERT sonst möglichen MISSBRAUCH des Skripts
$subject =~ s/\s/ /g;

-------> Text der E-Mail aus den Formulardaten ermitteln:

$mailtext = "";
foreach(@names) {
  $name = $_;
  @values = "";
  @values = $query->param($name);
  if($name ne "return" && $name ne "subject" && $name ne "delimiter") {
    foreach $value (@values) {
      $mailtext = $mailtext.$name;
      $mailtext = $mailtext.$delimiter;
      $mailtext = $mailtext.$value."\n";
    }
  }
}

-------> E-Mail versenden:

open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);

-------> Dankeseite an Browser senden:

print "Location: $returnhtml\n\n";

.........................................................................

Wo wird die $returnhtml als "www.meine_website.de/danke.htm" definiert?

Klappt das überhaupt?