Hallo zusammen, habe mich dran versucht dem ONLINE Shop von Christof eine weitere Zahlungsart beizubringen. Habe aber jetzt große Probleme. Vielelicht kann ja mal jemand schauen. Habe im "Best" die weiter Zahlunsgart "Kreditkarte" eingefügt. Habe bei der Datenbank "kunden" die Felder "KK_gesellschaft / karte_datum / karten_nummer" angelegt.
Hier mal der Quellcode vom "BEST" <include src=top>
<table>
<tr><td width=500>
<perl>
$Bezahlung=$bBezahlung;
$cAGB=" checked" if $AGB; $best=0;
if($Bezahlung)
{
$emsg="Bitte geben Sie einen Namen ein<br>" if $bName eq "";
$emsg.="Bitte geben Sie eine Strasse ein<br>" if $Strasse eq "";
$emsg.="Bitte geben Sie eine PLZ ein<br>" if $PLZ eq "";
$emsg.="Bitte geben Sie einen Ort ein<br>" if $Ort eq "";
$emsg.="Bitte geben Sie Ihre EMail-Adresse ein<br>" if index($EMail, "@")<0 || index($EMail,".")<0;
$emsg.="Bitte geben Sie Ihre Telefonnummer ein<br>" if $Telefon eq "";
$emsg.="Bitte lesen Sie die AGB und markieren Sie das entsprechende Kästchen, wenn Sie sie akzeptieren.<br>" unless $AGB;
if($emsg)
{
out "<span style=\"color:red\"><b>$emsg</b></span><br>";
} else
{
mod "KundenId==$kid", ["Name", $bName, "Strasse", $Strasse, "PLZ", $PLZ, "Ort", $Ort, "EMail", $EMail, "Telefon", $Telefon, "Bezahlung", $Bezahlung], "kunden";
if($_amount==0)
{
put ["KundenId", $kid, "Name", $bName, "Strasse", $Strasse, "PLZ", $PLZ, "Ort", $Ort, "EMail", $EMail, "Telefon", $Telefon, "Bezahlung", $Bezahlung], "kunden"; # neuer kunde
set_cookies("kid=$kid; path=/") if $cook; # beim nutzer im browser per cookies speichern
} else
{
get "KundenId==$kid", "kunden"; # nach dem mod haben die Felder die Werte des eintrags VOR dem ändern - wir brauchen aber die aktuellen, deshalb müssens wir nochmal holen
set_cookies("kid=; path=/") unless $cook; # cookie wieder löschen, wenn gewünscht
}
mod "KundenId==$kid sort=BestellungNr range=-1,1 Status==Unbestellt", ["Status", "Offen"], "bestellungen";
$bestnr=$_id+120000;
if($_amount>0)
{
&berech(1);
$ges=sprintf("%.2f",$ges);
$end=sprintf("%.2f",$ges+$vko+($Bezahlung eq "Nachnahme"?$nna:0));
$mwst=sprintf("%.2f",$end-($end/"1.$mwst"));
$ges=~ s/\./,/;
$end=~ s/\./,/;
$mwst=~ s/\./,/;
out "Vielen Dank für Ihre Bestellung. ";
$bezahltext=$bezahltext2="";
if($Bezahlung eq "Nachnahme")
{
$bezahltext=" zzgl. Nachnahme . . . . $nachnahme Euro\n";
$bezahltext2="Bitte bezahlen Sie den Endbetrag bei Übergabe der Lieferung.";
out "Bitte bezahlen Sie den Gesamtbetrag (inkl. $nachnahme Euro Nachnahmegebühr) von<br><br><center><b>$end Euro</b></center><br>bei der Übergabe der Lieferung.";
} else
{
$bezahltext2=<<EOF;
Bitte überweisen Sie den Endbetrag innerhalb von 5 Tagen ohne jeden Abzug auf folgendes Konto:
$konto
Geben Sie als Verwendungszweck bitte die Bestellnummer $bestnr an.
EOF
out "Bitte überweisen Sie den Gesamtbetrag von<br><br><center><b>$end Euro</b></center><br>auf das Konto:<br><center><table><tr><td><b>".convert_br($konto)."</b></td></tr></table></center><br>Bitte geben Sie als Verwendungszweck die folgende Bestellnummer an:<br><br><center><b>$bestnr</b></center><br>Sobald der Betrag bei uns eingegangen ist, senden wir Ihnen Ihre Bestellung zu.";
}
$bezahltext=$bezahltext3="";
if($Bezahlung eq "KK")
{
$betahltext3=<<EOF;
Bitte tragen Sie hier Ihre Kreditkartennummer und Gültigkeit der Karte ein.
EOF
}
$mwst=sprintf("%.2f",$end-($end/"1.$mwst_satz"));
$mwst=~ s/\./,/;
$datum=datum("jetzt", "Wochentag, Tag.Monat.Jahr");
$mailtext=<<EOF;
$adresse
$bName
$Strasse
$PLZ $Ort
DEUTSCHLAND
Telefon, für Rückfragen: $Telefon
Bestell- und Rechnungsnummer $bestnr . . . . . . . . . . . . . . . . $datum
Hallo $bName,
hiermit stellen wir Ihnen für die folgenden Artikel
den Betrag von
Summe . . . . . . . . . $ges Euro
zzgl. Versandkosten . . $versandkosten Euro
$bezahltext
Endbetrag . . . . . . . $end Euro
in Rechnung. $bezahltext2
(Darin enthaltene $mwst_satz% MWSt.: $mwst Euro)
Wir bedanken uns für Ihr Vertrauen.
Mit freundlichen Grüssen,
Diese Rechnung wurde maschinell erstellt und ist auch ohne Unterschrift gültig.
--
mail $EMail, "Ihre Bestellung bei $firmaname - Bestellnr. $bestnr", $mailtext, $emailadr, $bName;
mail $emailadr, "Bestellnr. $bestnr", $mailtext, $EMail, $bName;
} else
{
out "<center>Ihre Bestellung ist bereits gespeichert. Vielen Dank.</center>";
}
out "<br><br><center><a href=\"$link&htx=/$user/artikel\">Zum Shop</a></center>";
get "KundenId==$kid sort=BestellungNr range=-1,1 Status==Unbestellt", "bestellungen";
if($_amount>0 && $best==0)
{
out <<EOF;
Hiermit bestellen Sie verbindlich die folgenden Artikel:<br><br>
<table width=100%>
<tr><td><font size=1>Anzahl</font></td><td nowrap><font size=1>Artikel</font></td><td align=right nowrap><font size=1>Stückpreis</font></td><td align=right><font size=1>Preis</font></td></tr>
<tr><td colspan=4><hr size=1></td></tr>
EOF
&berech();
$ges=sprintf("%.2f",$ges);
$end=sprintf("%.2f",$ges+$vko);
$mwst=sprintf("%.2f",$end-($end/"1.$mwst_satz"));
$ges=~ s/\./,/;
$end=~ s/\./,/;
$mwst=~ s/\./,/;
out <<EOF;
<tr><td colspan=4><hr size=1></td></tr>
<tr><td colspan=3><font size=1>Summe: </font></td><td align=right><font size=1>$ges Euro</font></td></tr>
<tr><td colspan=3><font size=1>zzgl. Versandkosten:</font></td><td align=right><font size=1>$versandkosten Euro</font></td></tr>
<tr><td colspan=3><b>Gesamtbetrag:</b></td><td align=right><b>$end Euro</b></td></tr>
<tr><td colspan=3><font size=1>(Darin enthaltene $mwst_satz% MWSt.: $mwst Euro)</font></td></tr>
<tr><td colspan=4><br><b>Bei Zahlung per Nachnahme fällt zusätzlich eine Gebühr von
$nachnahme Euro an.</b></tr></table>
<br><br>
EOF
get "KundenId==$kid", "kunden";
if($_amount>0)
{
$bName=$Name; $cAGB=" checked" unless $emsg=~ /Bitte lesen Sie die AGB/; # naja ;-)
out 'Bitte überprüfen Sie die Felder und klicken Sie dann auf "Bestellung abschicken":';
} else
{
out 'Bitte füllen Sie die Felder aus und klicken Sie dann auf "Bestellung abschicken":';
}
if($Bezahlung eq "Nachnahme") { $cBezNach=" checked" } else { $cBezKK=" ckecked" }
$ccook=" checked" if $_cookies{kid};
$adrmerk='<tr><td align=right></td><td><br><table cellspacing=0 cellpadding=0 border=0><tr><td valign=top><input type="checkbox" name="cook="'.$ccook.'></td><td> Adressdaten merken?</td></tr><tr><td></td><td><font size=1>Bei Ihrer nächsten Bestellung müssen Sie diese dann nicht noch einmal eingeben. Markieren dieses Kästchen NICHT, wenn auch andere Personen diesen Computer benutzen (z.B. in einem Internet-Cafe)</font></td></tr></table></td></tr>';
out <<EOF;
<br>
<table width=100%>
<form action="$link&htx=$htx" method="post" enctype="multipart/form-data">
<input type=hidden name="htx=" value="$htx">
<input type=hidden name="kid=" value="$kid">
<tr><td colspan=2><br></td></tr>
<tr><td align=right>Name:</td><td><input type="text" name="bName=" size=20 value="$bName"></td></tr>
<tr><td align=right>Strasse:</td><td><input type="text" name="Strasse=" size=20 value="$Strasse"></td></tr>
<tr><td align=right>PLZ:</td><td><input type="text" name="PLZ=" size=5 maxsize=5 value="$PLZ"> Ort: <input type="text" name="Ort=" size=15 value="$Ort"></td></tr>
<tr><td align=right>Land:</td><td><P><STRONG><B>DEUTSCHLAND <FONT FACE="Verdana" SIZE="1 pt" COLOR="#0066CC"><A
HREF="http://www.uni-fit.de/dok/auswahl_shop.html" TARGET="_blank">»
ANDERE EU-LÄNDER - FINDEN SIE HIER !
«</A></B></STRONG></FONT></P></td></tr>
<tr><td align=right>EMail:</td><td><input type="text" name="EMail=" size=20 value="$EMail"></td></tr>
<tr><td align=right>Telefon:</td><td><input type="text" name="Telefon=" size=20 value="$Telefon"></td></tr>
<tr><td align=right>Bezahlung:</td><td><input type="radio" name="bBezahlung=" value="Vorauskasse"$cBezVor> per Vorauskasse (Überweisung)</td></tr>
<tr><td align=right><input type="radio" name="bBezahlung=" value="Nachnahme"$cBezNach> per Nachnahme <b>(Die Kosten in Höhe von 1,50 Euro trägt der Käufer)</b></td></tr>
<tr><td align=right><INPUT TYPE="RADIO" NAME="bBezahlung=" VALUE="KK_gesellschaft"$cBezKK> per Kreditkarte <BR>Kartengesellschaft:
<SELECT NAME="bBezahlung=" SIZE="1">
<OPTION VALUE="">VISA</OPTION>
<OPTION VALUE="">AMERICAN EXPRESS</OPTION>
<OPTION VALUE="">EUROCARD</OPTION>
</SELECT>Kartennummer:<INPUT TYPE="TEXT" NAME="Karten_nummer="> Gültig
bis:<INPUT TYPE="TEXT" NAME="karte_datum=" SIZE="10"></td></tr><FORM>
<tr><td align=right></td><td><br><input type="checkbox" name="AGB="$cAGB> Ich habe die AGB gelesen und akzeptiere sie.</td></tr>
<tr><td></td><td nowrap colspan=3><br><input type=submit value="Bestellung abschicken"> </td></tr>
$adrmerk
} elsif($best==0)
{
out <<EOF;
<center>Sie haben noch keine Artikel zum Bestellen ausgewählt.<br><br>
<a href="$link&htx=/$user/artikel">Zum Shop</a></center>
EOF
}
</perl>
</td></tr></table>
Hier der Link:
http://de2.unifit-daten.de/cgi-bin/baseportal.pl?htx=/unifit-daten.de/auto_schlappen/endkunden/best
sebastian