Schnelle E-Commerce-Entwicklung mit Dreamweaver UltraDev und PayPal


Von Joel Martinez und Ray West (www.basic-ultradev.com)

In diesem Artikel wird die Integration von UltraDev in PayPal mit einem Satz kostenloser Serververhalten zur Lösung dreier häufig auftretender Online-Verkaufsszenarios beschrieben. Die Serververhalten mit der Bezeichnung PayPal Extension Suite können von Mike Ahern bei Shore Computers (http://www.shorecomp.com/ultradev/paypal/default.asp) bezogen werden. Die Suite ist kostenlos, wir empfehlen jedoch bei Verwendung der Anwendung die Abgabe einer Spende über PayPal.

Bei Verwendung des PayPal-Warenkorbs ohne die Unterstützung dieser Serververhaltens-Suite sind lediglich HTML-Kenntnisse erforderlich. Wenn Sie Text ausschneiden und einfügen können, können Sie problemlos auch ohne die Hilfe der Erweiterung die Vorteile dieser Funktionalität nutzen. Diese Suite lässt sich jedoch außerordentlich gut in UltraDev integrieren und bietet Ihnen eine leicht verständliche Nutzeroberfläche. Die folgenden drei Beispiele zeigen, wie Sie das PayPal-System für drei übliche Transaktionsarten nutzen können:
  • Mit dem Einzelkauf können Sie einen Artikel in einer Auktionseinstellung verkaufen.
  • Mit dem einfachen Warenkorb können Sie mehrere Artikel festlegen, die in einer PayPal-Transaktion gekauft werden können.
  • Mit dem datenbankgesteuerten Warenkorb können Sie ein Bestandssystem einrichten, das dynamisch von einer Datenbank verwaltet und an Ihre Seiten geliefert werden kann.

Erstellen einer E-Commerce-Site mit PayPal


Das Erstellen einer E-Commerce-Site mit PayPal ist vielleicht die am einfachsten zu implementierende Lösung. Die bei der Entwicklung eingesparte Zeit kann diese Lösung zu einer attraktiven Option für ein Projekt mit einem begrenzten Budget machen. Es gibt natürlich auch Nachteile. Da alle dynamischen Warenkorbaktionen in einem Popup-Fenster bearbeitet werden, gibt es hier, anders als beim Einfügen Ihres Logos auf dem Warenkorb, nur wenig Raum für Gestaltung. Dazu ist zu ergänzen, dass für die meisten Sites keine vollständig angepasste Nutzeroberfläche erforderlich ist. Sie profitieren daher in hohem Maße von diesem System. Die von PayPal erstellten vertrauten Oberflächen können das Verbrauchervertrauen stützen.

Diese Suite mit Erweiterungen enthält verschiedene Serververhalten, von denen jedes eine leicht unterschiedliche Funktionalität aufweist. Sie verwenden jedoch bestimmte gemeinsame Elemente.
  • PayPal-E-Mail - Bei jedem Serververhalten müssen Sie die E-Mail-Adresse für Ihr PayPal-Konto eingeben. Wenn Sie beabsichtigen, Geschäfte über Ihr Konto abzuwickeln, sollten Sie unbedingt das Geschäftskonto wählen.
  • Statische/Dynamische Felder – Beinahe jedes Serververhalten verwendet Felder, in denen Sie Artikel aus dem Datenbindungsfenster in UltraDev auswählen können. Sie können auch statische Werte verwenden. Sie müssen nur daran denken, dass Sie statische Werte in doppelte Anführungszeichen setzen müssen (z. B. "5,00").
  • Geld – Alle monetären Felder müssen das Format "xx.xx" aufweisen. Wenn Sie einem dieser Felder einen Wert aus der Palette der Datenbindungen zuweisen, muss es unbedingt in diesem Format sein. Mit der integrierten UltraDev-Funktionalität können Sie diesem Wert ein Formatierungsschema zuweisen.

Abbildung 1: Palette der Datenbindungen, die monetäre Formatierungen zuweisen.
  • URL-Felder – Einige der Serververhalten fordern Sie zur Angabe einer Logo-URL oder eines Ortes auf, zu dem die Nutzer nach Verarbeitung einer Transaktion geleitet werden. Es muss sich dabei um absolute URLs handeln, was bedeutet, dass die Adresse http://www.yourdomain.com enthalten sein muss.
Die Serververhalten

Die folgenden Serververhalten sind in der Suite verfügbar, damit Sie eine Verbindung mit der PayPal-Funktionalität herstellen können.
  1. Das Verhalten "Einzelkauf"
    Wenn dieses Verhalten auf ein Bild oder einen Text angewendet wird, wird ein Link direkt zum PayPal-Kaufabwicklungs-Bildschirm erstellt. Es ermöglicht Ihnen das Erstellen von Links wie z.B. "Jetzt kaufen! ". Dies ist insbesondere für Sites interessant, die nur ein einziges Produkt oder nur einen Service verkaufen.
  2. Das Verhalten "Über Ihren Warenkorb"
    Wenn Sie eine andere Warenkorblösung wie z. B. UltraCart II verwenden, können Sie weiterhin die Dienste von PayPal nutzen, um Zahlungen für Ihre Produkte entgegenzunehmen. Sie müssen lediglich (neben Ihrer PayPal-ID und verschiedenen URLs) eine Auftragsnummer und einen Gesamtumsatzbetrag angeben. Diese Informationen können problemlos beschafft und an die einfache Nutzeroberfläche übermittelt werden.
  3. Das Verhalten "Artikel in Warenkorb legen"
    Dies ist vielleicht das am häufigsten verwendete Serververhalten. Das Verhalten "Artikel in Warenkorb legen" lässt sich sehr einfach in einen Anzeigebildschirm mit Artikeln aus einer Datenbank integrieren und bietet Kunden die Möglichkeit, beim Einkaufen verschiedene Artikel in ihrem Warenkorb zu sammeln. Immer wenn auf den generierten Link geklickt wird, wird ein Popup-Fenster mit dem Inhalt Ihres Warenkorbs in ansprechendem Design gestartet. Nutzer können dann von diesem Fenster zum Kaufabwicklungsbereich wechseln, wo sie sich entweder in ihr PayPal-Konto einloggen oder nur die Zahlungsinformationen übermitteln können.
  4. Das Verhalten "Warenkorb anzeigen"
    Dieses Verhalten wird in Verbindung mit dem Verhalten "Artikel in Warenkorb legen" verwendet. Wenn Sie auf einen vom Serververhalten "Warenkorb anzeigen" generierten Link klicken, wird ein Fenster mit dem Inhalt Ihres Warenkorbs angezeigt. Sie benötigen lediglich Ihre E-Mail-ID für PayPal.
  5. Das Verhalten "Spende"
    Der von diesem Serververhalten generierte Link leitet die Nutzer zu einem Bildschirm, auf dem sie Ihnen Geld über ihr PayPal-Konto senden können. Personen, die Shareware verkaufen, oder gemeinnützige Organisationen können von dieser Option profitieren, da sie die Möglichkeit haben, Geld über ihre Website zu erhalten, das nicht an einen bestimmten Kauf gebunden ist.
  6. Abonnemetzahlungen
    Websites, die auf Abonnementzahlungen basierenden Zugang zu ihren Inhalten bieten, profitieren von diesem einzigartigen von PayPal angebotenen Dienst. Nutzer, die sich für einen Abonnementdienst anmelden, erhalten monatlich eine Rechnung von PayPal. Das Geld wird direkt auf Ihr PayPal-Konto eingezahlt, und Sie erhalten jedes Mal per E-Mail einen Zahlungshinweis, der Sie über die Fortsetzung der Abonnementzahlung eines Nutzers informiert. Der von diesem Serververhalten generierte Link öffnet ein Popup-Fenster, in dem die Nutzer zur Angabe der Rechnungsdaten aufgefordert werden.

Praktische Anwendungsmöglichkeiten für die PayPal-Suite


Es gibt zwei übliche Szenarios, zu denen heutzutage die meisten E-Commerce-Szenarios im Internet zählen. Der Einzelkauf ähnelt dem Auktionsmodell, bei dem ein Verkäufer nur einen einzigen Artikel anbietet, der auch nur einmal gekauft werden kann. Das Warenkorbmodell beinhaltet den Verkauf mehrerer Artikel und möglicherweise auch mehrerer Positionen des gleichen Artikels. Nachfolgend finden Sie drei Beispiele: Ein einzelner Artikel wird mithilfe des PayPal-Dienstes zum Verkauf angeboten, einen Warenkorb, für den der PayPal-Warenkorb verwendet wird, sowie einen Warenkorb, bei dem ein Warenkorb eines Drittanbieters verwendet wird, um eine Verbindung mit PayPal herzustellen.

Eine Demosite finden Sie unter http://www.codecube.net/teksales/. Die in diesem Artikel beschriebenen Beispiele finden Sie in der Demosite.


Abbildung 2: Demosite von TekSales


"Einen Artikel, bitte!" – Der Einzelkauf


Das Serververhalten "Einzelkauf" wird verwendet, wenn nur ein Artikel verkauft werden soll. eBay-Nutzer verwenden diese Funktion seit langem, um Zahlungen für ihre Auktionen einzuziehen. Wenn über Ihre Site mehrere Artikel verkauft werden, gibt es andere Serververhalten, die sich besser hierfür eignen. Aber für den einmaligen Verkauf eines gebrauchten Artikels oder eines Sammlerobjekts ist das Serververhalten "Einzelkauf" eine schnelle und einfache Lösung.

Stellen Sie sich vor, Sie haben das tollste Motorrad in der Gegend, eine Ducati Monster S4Fogarty. Eines Tages werden Sie bei einer Fahrt beim Spurwechsel von einem Wagen geschnitten. Plötzlich läuft Ihr Leben wie ein Film vor Ihren Augen ab, und Sie können das Motorrad keinen Meter mehr weiterfahren, ohne einen Schweißausbruch zu bekommen. So beschließen Sie also, es auf Ihrer Website zu verkaufen. Sie entwerfen rasch ein Design in UltraDev und platzieren es auf Ihrer Site.


Abbildung 3: Ducati-Verkaufssite...vorab SB

Sie nehmen an, dass die Interessenten an Ihrem Postfach Schlange stehen, um Ihnen per Mail das Geld für dieses tolle Gefährt zu schicken. Doch da haben Sie sich getäuscht. Das kann verschiedene Gründe haben. Vielleicht liegt der Preis ja weit über dem, was sich die meisten Menschen leisten können.

Die Verwendung des Serververhaltens "Einzelkauf"

Die Verwendung des Serververhaltens "Einzelkauf" ist ganz einfach. Nach Fertigstellung des Entwurfs Ihrer Seite müssen Sie nur ein Objekt auf der Seite auswählen, das als Einkaufsschaltfläche fungiert. Hierbei kann es sich um die Grafik "Kauf mich" handeln oder um Text, der die gleichen Informationen übermittelt. Markieren Sie das Objekt, und wenden Sie das Serververhalten genauso wie jedes andere an. Das Serververhalten "Einzelkauf" finden Sie in der Palette der Serververhalten unter PayPal > PayPal-Einzelkauf.



Abbildung 4: pp_SinglePurchase

Füllen Sie einfach die Felder auf der Oberfläche des Serververhaltens aus; das ist schon alles. Klickt ein Nutzer auf den durch das Verhalten generierten Link, wird ein Fenster mit Informationen zum Zahlungseinzug geöffnet, und der Nutzer wird durch den Checkout-Vorgang geleitet. Sie erhalten von PayPal eine Bestätigung über den getätigten Verkauf und können das Motorrad dann für den Versand per Post verpacken.


"Ich nehme jeweils zwei davon." – Der einfache Warenkorb


Der Einzelkauf macht einen Großteil der täglichen internetbasierten Transaktionen aus, insbesondere bei den populären Onlineauktionen. Wer jedoch beabsichtigt, ein florierendes Geschäft aus seiner Website zu machen, muss sich mit weiteren Aspekten beschäftigen. Häufig wird eine Vielzahl von Produkten angeboten und man hofft, dass die Kunden zahlreiche und wiederholte Einkäufe tätigen.

Wir kommen wieder auf Sie als unseren angehenden Motorradverkäufer zurück. Der Verkauf Ihrer Ducati hat Ihnen bewusst gemacht, welcher Bedarf beim Handel mit Motorrädern und Zubehör besteht. Sie haben sich daher entschlossen, ein Onlinegeschäft mit entsprechendem Angebot zu eröffnen. Mit der neuen PayPal-Online-Zahlungslösung boomt Ihr Geschäft. Sie machen erhebliche Profite durch den Verkauf von Motorrädern über Ihre Website. Aber Sie möchten mehr, daher entschließen Sie sich, ergänzend noch weitere Produkte wie beispielsweise Helme und Schutzbrillen zu verkaufen. Dies ist zwar ein einfaches Konzept, Sie können jedoch die gleiche Lösung nicht weiterhin verwenden. Bei Ihrem wöchentlichen Besuch bei Wal-Mart wird Ihnen klar, was Sie tun müssen, als Sie neben einem Entfettungsmittel auch Milch und Eier in den Warenkorb legen. Sie brauchen ebenfalls einen Warenkorb.

Einfach ausgedrückt bedeutet dies: ein Online-Warenkorb ermöglicht Ihren Besuchern den Kauf mehrerer Artikel in einer einzigen Transaktion. Wenn sich der Kunde durch die Site bewegt und dabei das Warenangebot sondiert und zu kaufende Artikel auswählt, "merkt" sich der Warenkorb mithilfe von Sitzungsvariablen oder Cookies und einer Datenbank, welche Artikel ausgewählt wurden. Geht der Kunde zur Kasse, gibt er die Zahlungsinformationen nur einmal an, und der Auftrag wird für alle ausgesuchten Artikel erteilt.

Verwenden des PayPal-Warenkorbs

Das Serververhalten "Warenkorb" ähnelt in vieler Hinsicht dem Verhalten "Einzelkauf". Da dieses Verhalten jedoch in Verbindung mit einem Warenkorb verwendet wird, gibt es einige zu beachtende Unterschiede. Als Erstes ist die Option zu nennen, die einem Kunden die Auswahl einer bestimmten Menge eines Artikels erlaubt, z.B. zwei Paar Handschuhe oder drei Packungen Lederhosenflickzeug. Darüber hinaus wird mit der Aktion, die beim Klicken auf die Einkaufsschaltfläche durchgeführt wird, der Artikel nur in einen Warenkorb gelegt. Die Zahlungsinformationen werden nicht sofort erfasst, und weitere Einkäufe sind möglich.

Um dieses Serververhalten auf einen gewählten Artikel anzuwenden, markieren Sie einfach ein Objekt oder einen Text auf der Seite, und wählen Sie dann das Serververhalten "In den Warenkorb" unter PayPal > PayPal - Artikel in Warenkorb legen in der Palette der Serververhalten aus. Wiederholen Sie dieses Verfahren für jeden Artikel in Ihrer Site.



Der erstellte Link öffnet ein neues Fenster im PayPal-Warenkorbsystem, das jeden in den Warenkorb gelegten Artikel enthält. Wenn Sie zweimal auf den gleichen Artikel klicken, wird die Menge um Eins erhöht. Dies ist die bevorzugte Methode in dieser Situation, da Käufer nur möglichst wenig tun möchten, um ihre Produkte zu erhalten. Wenn Sie ihnen auch nur ein paar Klicks ersparen, sind die Kunden glücklich, und zufriedene Kunden kaufen mehr.

Verwenden von PayPal mit einem datenbankgesteuerten Warenkorb


Aus den vorherigen Beispielen können Sie viel lernen. Vielleicht sind Sie ja selbst einmal in einer ähnlichen Situation und benötigen einfach die grundlegende PayPal-Funktionalität. Die Leistungsfähigkeit dieser Erweiterungssuite zeigt sich jedoch erst wirklich, wenn sie in Verbindung mit einer datenbankgesteuerten Bestandslösung verwendet wird. Wenn Sie eine Datenbank zur Verwaltung Ihrer Produkte einsetzen, ist möglicherweise im Vorfeld etwas mehr Entwicklungsarbeit notwendig. Einfache Wartung und Verwaltung machen die Vorteile jedoch später offensichtlich. Bei korrektem Aufbau funktioniert Ihre Site nun im Grunde automatisch.

Tabellenstruktur

Der zeitaufwändigste Teil bei der Erstellung einer derartigen Site ist die Datenbank selbst. Die Integration in das PayPal-Einkaufssystem stellt überhaupt kein Problem dar. Im Folgenden wird von einer klassischen Datenstruktur vom Typ "Übergeordnet/Untergeordnet'"- "Master/Detail" ausgegangen. Dieses Datenbanklayout kommt bei 99 % der Datenbanken im Internet zum Einsatz. Wenn Sie Hilfe bei dem Datenbankanteil dieses Projekts benötigen, können Ihnen zahlreiche Ressourcen im Internet Unterstützung bieten.

Für jede Zeile in der übergeordneten Tabelle kann die untergeordnete Tabelle zwischen null und viele Zeilen enthalten. Im Kontext einer E-Commerce-Site bedeutet dies, dass eine Kategorietabelle als Mastertabelle und die Produkttabelle als untergeordnete Tabelle vorhanden ist. Ein Beispiel für in den Tabellen enthaltene Daten:

Kategorie TV
- Sony 20"
- RCA 19"
- Magnavox 32"

Kategorie Video
- Panasonic Two Head
- Samsung Four Head

Beginnen Sie mit der Definition der Kategorietabelle mit folgenden Feldern:
  • catID - autonumber
  • catName - text
Wie Sie sehen, werden in einer Mastertabelle nicht viele Informationen benötigt, da sie nur zur Organisation der zahlreichen Zeilen in der untergeordneten Tabelle dient. Weitere Informationen, die gegebenenfalls in dieser Tabelle enthalten sein können:
  • eine Beschreibung unter "Erweitert"
  • ein Bild für die Kategorie
  • das Feld "Active", das angibt, ob diese Kategorie zurzeit aktiv ist.
Diese Tabelle kann auf einer Seite verwendet werden, die alle Kategorien der in Ihrer Site erhältlichen Artikel auflistet. Der Kunde kann dann eine Kategorie auswählen, um die Details der in der jeweiligen Kategorie verfügbaren Produkte anzuzeigen.

Als Nächstes wird die Produkttabelle benötigt. Diese Tabelle enthält Informationen zu jedem einzelnen Produkt und muss daher ein Feld für jeden entsprechenden Artikel im Serververhalten "In den Warenkorb" enthalten.
  • itemID - autonumber
  • catID - number
  • itemName - text
  • amount - currency
  • shipping - currency
  • handling - currency
Wenn Sie einige Felder nicht verwenden (z. B. keine Berechnung von Versandkosten), können Sie einfach Nullen in diese Felder eingeben.

Wie bei der Kategorietabelle wird nur ein Minimum an Feldern verwendet, um die Erläuterung möglichst kurz zu halten. Weitere mögliche Felder sind:
  • Datum hinzugefügt
  • Aktiv
  • Page Views

Abbildung 6: tekDB_relationship
Eine grafische Darstellung der Beziehung zwischen den beiden Tabellen

Nachdem Sie die Datenbankstruktur eingerichtet haben, füllen Sie die Tabellen mit Testdaten. Diese können später durch Produktionsdaten ersetzt werden. Erstellen Sie zunächst verschiedene Kategorien.



Abbildung 7: tekDB_catTableContents

Beachten Sie, dass jede Kategorie lediglich die untergeordneten Produkte auf logische Art enthalten kann. Zwischen der Kategorietabelle und einem bestimmten Produkt wird eine Beziehung eingerichtet, indem die "catID" der übergeordneten Kategorie in das numerische Feld "catID" der Produkttabelle eingefügt wird. Eine komplexere Tabellenstruktur kann für Produkte entwickelt werden, die möglicherweise unter mehrere Kategorien fallen. Dies wird jedoch hier nicht weiter erläutert.


Abbildung 8: tekDB_ProductTableContents


Anzeigen der Daten

Sobald die Datenbank Daten enthält, mit denen Sie arbeiten können, werden die Daten im nächsten Schritt auf eine Seite gestellt. Für diese Demonstration werden nur zwei Seiten benötigt, eine Hauptseite mit allen Kategorien, unter denen Nutzer wählen können, und eine Detailseite mit allen Artikeln der gewählten Kategorie.

Erstellen Sie zuerst eine HTML-Tabelle für die Nutzeroberfläche. Eine Tabelle mit den Dimensionen 2 x 2 ist gut geeignet. Bei der ersten Zeile handelt es sich um eine einfache Überschrift, die den Inhalt der darunter befindlichen Spalte beschreibt. In der zweiten Zeile befindet sich die Ausgabe der Datensatzgruppe. Erstellen Sie eine Datensatzgruppe, mit der der Kategoriename und die ID aus der Tabelle ausgewählt werden.

Ziehen Sie den Kategorienamen aus der Datenquellenpalette in die zweite Zeile der ersten Spalte. Die zweite Spalte enthält einen "Ansichts"-Link.

Zum Erstellen des Ansichts-Links markieren Sie zunächst den Text und navigieren dann mithilfe des Eigeschafteninspektors zu der Seite, auf der die Produkte angezeigt werden. Nachdem Sie auf das Ordnersymbol geklickt haben, wird eine Liste der bestehenden Seiten in Ihrer Site angezeigt. Wählen Sie die Produktseite aus, und klicken Sie dann am unteren Rand des Dialogfelds auf "Parameter". Im Fenster "Parameter" können Sie einen URL-Parameter mit der Bezeichnung "catID" erstellen (dieser dient zum Filtern der Datensatzgruppe "Produkte") und einen Wert aus der Datenbank zuweisen, indem Sie das Feld "catID" mit dem Gewitterblitzsymbol auswählen. Wenn Sie nun auf die Anzeigeschaltfläche neben dieser Kategorie klicken, wird die entsprechende ID an die Datensatzgruppe "Produkte" in die URL-Zeichenfolge übermittelt, und nur die Produkte dieser Kategorie werden auf der Detailseite angezeigt. Nach Abschluss dieses Vorgangs können Sie das Serververhalten "Region wiederholen" in der zweiten Zeile hinzufügen.

Die Kategorieseite ist nun funktionsfähig. Im nächsten Schritt wird die Detailseite erstellt. Alle Nutzer, die diese Seite aufrufen, gelangen von der Kategorieseite hierher und verfügen daher über den Parameter "catID" in der Abfragezeichenfolge. Wir beginnen mit dem Erstellen einer Datensatzgruppe, die jedes Feld in der Tabelle abruft. Das Feld "catID" wird unter Verwendung von request("catID") nach dem Wert aus der Abfragezeichenfolge gefiltert.


Abbildung 9: tekDB_categoryRS

Die Benutzeroberfläche für diese Tabelle kann genau dasselbe Layout haben, mit Ausnahme einer zusätzlichen Spalte für den Preis. Ziehen Sie den Artikelnamen in die erste Spalte, den Preis in die zweite, und geben Sie "In den Warenkorb" in die dritte Spalte ein. Markieren Sie den Text "In den Warenkorb", und wählen Sie das Serververhalten "In den Warenkorb" aus der Serververhaltenspalette. In den meisten Feldern der Nutzeroberfläche ist ein kleines Blitzsymbol neben dem Textfeld abgebildet. Damit können Sie die Felder mit Feldern aus Ihrer Datenbank über die Datensatzgruppe auffüllen, die Sie im Fenster "Datenquellen" erstellt haben. Wählen Sie im Serververhalten für jeden entsprechenden Artikel ein Feld aus der Datenbank. Anschließend können Sie das Serververhalten "Region wiederholen" in der zweiten Zeile hinzufügen. Wenn die Seite mit den Produkten aus der Datenbank aufgefüllt wird, enthält jede "In den Warenkorb"-Instanz die entsprechenden Informationen. Der Warenkorb wird durch jeden Artikel, der zum Kauf angeklickt wird, mit den von Ihnen eingegebenen Informationen aktualisiert. Die Artikel in der Datenbank können nun verwaltet werden, ohne dass Sie Ihre HTML-Seiten bearbeiten müssen.


Abbildung 10: tekDB_Addtocart

Dies ist praktisch alles, was zu tun ist. Die Kunden können nun Ihren Artikelkatalog durchsuchen, die gewünschten Artikel auswählen und auschecken. Schnelle Anwendungsentwicklung ist eines der vielen Dinge, die die PayPal-Suite zu einem großen E-Commerce-Mitstreiter macht. Andere Warenkorbsysteme benötigen lange Entwicklungszeiten, ohne den Zahlungseinzug zu berücksichtigen. Diese Demo wurde in etwa einer Stunde mit Dreamweaver UltraDev und der PayPal Extension Suite erstellt.

Der folgende Artikel ist ein Auszug aus dem neuen Buch UltraDev E-commerce Concepts: Next Steps von Ray West, Tom Muck und Joel Martinez. Weitere Informationen über UltraDev und E-Commerce finden Sie unter "Basic UltraDev at www.basic-ultradev.com". Dort erhalten Sie Informationen über unsere Bücher, Seminare und Erweiterungen, mit denen Sie Ihre Webentwicklungsfunktionen wesentlich verbessern können.

HAFTUNGSAUSSCHLUSS: Der folgende Inhalt wird von den Autoren der einzelnen Artikel zur Verfügung gestellt und nicht von PayPal, Inc. oder einer ihrer Partner oder einer ihrer Tochtergesellschaften. Die Artikel können Fehler enthalten, und PayPal empfiehlt und unterstützt keinen Support für ihren Inhalt. PayPal rät Ihnen, sich bei Fragen zu den Artikeln, wegen Informationen zu technischem Support, Garantien und/oder Lizenzen falls notwendig direkt an die Autoren der Artikel zu wenden. Wenn Sie auf den Inhalt der Artikel vertrauen, geschieht dies auf eigenes Risiko. PayPal übernimmt keine Verantwortung für Fehler, Verletzungen oder Schäden, die infolge des Vertrauens auf diesen Inhalt entstehen können, einschließlich zufällige, Sonder-, indirekte oder Folgeschäden. PayPal LEHNT AUSDRÜCKLICH ALLE GARANTIEN im Hinblick auf diesen Inhalt und die Verwendung des Inhalts ab.