E-Commerce-Programmierung mit ASP in 21 Tagen . Schritt-für-Schritt-Einstieg [1. Aufl.] 3-8272-5839-1

In E-Commerce-Progammierung mit ASP bieten die Autoren Stephen Walter und Jonathan Levine eine gründliche und sehr praxi

300 74 7MB

German Pages 628 Year 2001

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
E-Commerce-Programmierung mit ASP in 21 Tagen......Page 3
Tag 4: Arbeiten mit Dateien in Ihrer E-Commerce-Anwendung.......Page 5
Tag 8: Erstellen der Transaktionsdatenbank......Page 6
Tag 12: Lassen Sie Kunden ihre Bestellungen verfolgen......Page 7
Tag 16: Das Debugging von E-Commerce-Applikationen......Page 8
Tag 20: Arbeiten mit Wallets......Page 9
Stichwortverzeichnis......Page 10
Woche 1......Page 11
Überblick......Page 12
Einführung in den E-Commerce......Page 13
Was ist E-Commerce?......Page 14
Microsoft Personal Web Server......Page 16
Microsoft Internet Information Server......Page 17
Microsoft SQL Server......Page 18
Microsoft Visual InterDev......Page 19
Was ist eine ASP-Seite?......Page 20
Active Server Pages enthalten Scripts......Page 21
Active Server Pages beinhalten Objekte und Komponenten......Page 22
Active Server Pages und Datenbankzugriff......Page 24
Fragen und Antworten......Page 25
Verständnisfragen......Page 26
Interaktion mit dem Kunden......Page 29
Arbeit mit dem Response-Objekt......Page 30
Ausgabe langer Zeichenfolgen......Page 31
Anzeigen spezieller Zeichen......Page 32
Anzeige der Anführungszeichen......Page 33
Verwendung von Ausgabetrennzeichen......Page 35
Arbeiten mit dem Request-Objekt......Page 36
URL-Parameter verwenden......Page 37
Verwendung der Form-Sammlumg......Page 40
URL-Parameter und Formularfeldwerte auslesen......Page 48
Arbeiten mit Server Variablen......Page 50
Ermitteln der Internetadresse des Kunden......Page 53
Zusammenfassung......Page 54
Fragen und Antworten......Page 55
Übungen......Page 56
Verwenden der Application- und -Session-Objekte in E-Commerce-Anwendungen......Page 57
Kundeninformationen mit Hilfe von Cookies gewinnen......Page 58
Cookies hinzufügen......Page 61
Lesen der Cookies vom Kunden-Browser......Page 62
Kundeninformationen mit Hilfe von Session-Variablen gewinnen......Page 63
Speichern von Arrays in Session-Variablen......Page 65
Beenden einer Benutzersitzung......Page 67
Verwendung von Application-Variablen......Page 68
Speichern von Arrays in Application-Variablen......Page 71
Löschen von Application-Variablen aus dem Speicher......Page 73
Verwendung der Global.asa-Datei......Page 74
Zusammenfassung......Page 77
Fragen und Antworten......Page 78
Verständnisfragen......Page 79
Übung......Page 80
Arbeiten mit Dateien in Ihrer E-Commerce-Anwendung......Page 81
Einfügen von Dateien in eine ASP-Seite......Page 82
Dynamisches Einfügen von Dateien......Page 86
Verwenden von Dateiumleitungen......Page 87
Verwendung der File-Access-Komponente......Page 90
Arbeiten mit Textdateien......Page 95
Anzeigen des Inhalts eines Verzeichnisses......Page 97
Beispielanwendung: Speichern von Marketingdaten......Page 98
Fragen & Antworten......Page 100
Verständnisfragen......Page 101
Übung......Page 102
Erstellen Ihres Produktkatalogs......Page 103
Anlegen der Store-Datenbank......Page 104
Anlegen der Produkttabelle......Page 105
Verbindung zu einer Datenbank......Page 108
Hinzufügen von Produkten zu der Produkttabelle......Page 110
Erstellen des AddProducts-Formulars......Page 112
Problem mit Datenbanken und Anführungszeichen......Page 118
Aktualisieren von Produktinformationen in der Produkttabelle......Page 120
Anzeigen der Produktliste für Änderungen......Page 121
Erstellen des updateProduct-Formulars......Page 125
Aktualisieren eines Datenbankeintrags......Page 129
Fragen und Antworten......Page 134
Übungen......Page 135
Die Anzeige Ihrer Produkte......Page 137
Verwenden von Datensätzen......Page 138
Verwenden der SQL SELECT-Anweisung......Page 139
Recordset-Cursortypen......Page 141
Anzeigen von Produkten......Page 142
Auswahl von Produktkategorien......Page 144
Anzeigen der Produktliste......Page 145
Erstellen der Einstiegsseite Ihres Shops......Page 147
Anzeigen von Produktinformationen......Page 150
Blättern durch ein Recordset......Page 154
Wie machen Sie Ihren Shop skalierbar?......Page 157
Fragen und Antworten......Page 160
Übung......Page 161
Suchen Ihrer Produkte......Page 163
Anzeigen einer Liste der Sonderangebote......Page 164
Auswählen der Liste der Sonderangebote......Page 165
Abrufen der Liste der Sonderangebote......Page 167
Optimieren der Anzeige der Sonderangebote......Page 170
Erstellen einer Suchseite......Page 173
Optimieren der Suchseite......Page 178
Erstellen von indizierbaren Webseiten......Page 179
Fragen und Antworten......Page 181
Übung......Page 182
Rückblick auf Woche 1......Page 183
Erstellen einer Kundenfeedback-Seite......Page 184
Woche 2......Page 187
Überblick......Page 188
Erstellen der Transaktionsdatenbank......Page 189
Die Tabellen der Transaktionsdatenbank......Page 190
Erstellen der Datenbanktabelle des Benutzers......Page 191
Registrierung von Benutzern......Page 192
Erstelllen der cart.ASP-Seite......Page 193
Erstellen der register.ASP-Seite......Page 195
Die Registrierungsfunktionen......Page 197
Abfangen von Fehlern innerhalb des Formulars......Page 203
Verwenden von Secure Sockets Layer......Page 205
Secure Sockets Layer......Page 206
Beantragen eines Serverzertifikats......Page 208
Verwenden von SSL in einer ASP-Seite......Page 209
Zusammenfassung......Page 210
Verständnisfragen......Page 211
Übungen......Page 212
Erstellen des Warenkorbs......Page 213
Verwenden von Session-Variablen zum Erstellen eines Warenkorbs......Page 214
Erstellen der SessionCart.ASP-Seite......Page 215
Verwenden der grundlegenden ADO-Methoden......Page 222
Erstellen von veränderbaren Datensätzen......Page 223
Hinzufügen neuer Datensätze mit Hilfe von AddNew......Page 224
Aktualisieren von bestehenden Datensätzen......Page 226
Löschen von Datensätzen mit Delete......Page 227
Verwenden einer Datenbanktabelle zum Erstellen eines Warenkorbs......Page 228
Erstellen der addCart.ASP-Seite......Page 229
Fragen und Antworten......Page 235
Übung......Page 236
An der Kasse......Page 237
Was sind Transaktionen?......Page 238
Transaktionen mit ASP-Seiten......Page 239
ADO-Transaktionen......Page 243
Vervollständigen der Bestellung......Page 244
Abrufen der Adresse und der Zahlungsinformationen......Page 245
Aktualisieren der Adresse und der Zahlungsauskünfte......Page 247
Übertragen des Warenkorbs......Page 249
Verarbeiten der Bestellungen......Page 251
Fragen und Antworten......Page 260
Verständnisfragen......Page 261
Übung......Page 262
Arbeiten mit Kreditkarten......Page 263
Offsite-Zahlungsabwicklung......Page 264
Terminal-Zahlungslösungen......Page 265
Auf Komponenten basierende Lösungen......Page 266
Vorbereitungen zu CyberCash......Page 267
Ein Kreditkarten-Händler-Konto öffnen......Page 268
Tragen Sie sich bei CyberCash ein......Page 269
Installieren der CyberCash-Software......Page 271
Kreditkarten-Transaktionen autorisieren......Page 272
Das Authorization/Zugriffsberechtigungs-Script in Ihren Shop integrieren......Page 276
Kreditkarten-Transaktionen einstellen......Page 281
Fragen und Antworten......Page 284
Verständnisfragen......Page 285
Lassen Sie Kunden ihre Bestellungen verfolgen......Page 287
Lassen Sie Ihre Kunden die Bestellungen auf einer Webseite verfolgen......Page 288
Die iisCartship-Komponente installieren......Page 293
Eigenschaften und Methoden von iisCartship......Page 294
Beispiel für die Applikation einer iisCARTship-Komponente......Page 298
Fragen und Antworten......Page 301
Verständnisfragen......Page 302
Erstellen von Sites, die auf Abonnements basieren......Page 303
Die HTTP-Zugriffsberechtigung......Page 304
Die HTTP-Authentifizierung......Page 306
Wann Sie die HTTP-Authentifizierung verwenden sollten......Page 307
Verwendung der Datenbank-Zugriffsberechtigung......Page 308
Anmeldeinformationen von Seite zu Seite weitergeben......Page 317
Grundsätze der Authentifizierung verstehen......Page 320
Das Erscheinen eines Passwort-Dialogs erzwingen......Page 321
Dekodieren der AUTHORIZATION-Kopfzeile......Page 322
Fragen und Antworten......Page 327
Verständnisfragen......Page 328
Kundenspezifisches Shopping- Erlebnis......Page 329
Erstellen der Datei mypage.asp......Page 330
Schon getätigte Einkäufe aufzeigen......Page 335
Kundennahe Produktwerbung......Page 340
Erstellen der favorites.asp-Seite......Page 341
Erstellen der savefavorites.asp-Seite......Page 345
Aktualisieren der featured.asp-Seite......Page 347
Zusammenfassung......Page 350
Fragen und Antworten......Page 351
Übung......Page 352
Rückblick auf Woche 2......Page 353
Bonusprojekt......Page 354
Woche 3......Page 359
Überblick......Page 360
Sicherheitsvorkehrungen für Ihren Shop treffen......Page 361
Ihre eigene Domäne registrieren......Page 362
Domänennamen und Marketing......Page 363
So registrieren Sie Ihren Domänennamen selbst......Page 364
Verwenden Sie NT Server oder Windows 2000 Server......Page 366
Versichern Sie sich, dass die neuesten Service Packs und Hotfixes auf Ihrem System angewandt werden......Page 367
Ändern des Namens und des Passworts Ihres System-Administratorkontos......Page 368
Verwenden Sie NTFS......Page 369
Halten Sie Ihren Server verschlossen......Page 371
Mit SSL private Informationen der Anwender schützen......Page 372
Ihre Datenbank schützen......Page 374
Das Better Business Bureau Reliability-Programm......Page 376
Aufstellen von Geheimhaltungsrichtlinien und deren Zertifizierung......Page 377
Die Better Business Bureau's Children's Advertising Review Unit Guidelines......Page 379
Workshop......Page 381
Übung......Page 382
Das Debugging von E-Commerce-Applikationen......Page 383
Separate Entwicklungs- und Produktionssysteme......Page 384
Zuweisen einer zweiten IP-Adresse......Page 385
Erstellen einer zweiten Website......Page 387
Weitergabe Ihrer Applikation mit Visual InterDev......Page 389
Fehlersuche......Page 393
Fehlersuche auf einer Site......Page 396
Eine Applikation auf einem Produktionsserver debuggen......Page 400
Erstellen und Pflege einer Session-Variable......Page 401
Die Anwendung von iDebugLevel......Page 403
Programmablauf nach Fehlern fortsetzen und Fehler erfassen......Page 405
Fehler in einer Logdatei erfassen......Page 409
Testen der Skalierbarkeit......Page 411
Fragen und Antworten......Page 413
Workshop......Page 414
Übung......Page 415
Remote-Verwaltung Ihres Shops mit ASP......Page 417
Installieren der Verwaltungsseiten......Page 418
Absichern der Verwaltungsseiten......Page 419
Verwenden der Verwaltungsseiten......Page 424
Installieren und Verwalten des IIS FTP Services......Page 425
Hochladen von Dateien auf eine Site, die FTP verwendet......Page 428
Fortgeschrittene Wartung des webbasierten Produktkatalogs......Page 430
Mit dem Posting Acceptor leichter arbeiten......Page 432
Bilder von addProduct.asp und updateProduct.asp hochladen......Page 437
Auslagern der Logik für die Formularverarbeitung in donePost. asp......Page 443
Einfügen der Seiten in das Verwaltungs-Web......Page 447
Zusammenfassung......Page 449
Fragen und Antworten......Page 450
Verständnisfragen......Page 451
E-Mail und Active Server Pages......Page 453
Die Grundlagen von Internet Mail......Page 454
Konfigurieren des SMTP Services......Page 457
Die Collaboration-Datenobjekte für NT Server (CDONTS)......Page 459
Senden von E-Mail von einer ASP-Seite......Page 460
Die CDONTS-Konstanten......Page 463
E-Mail versenden bei Fehlern......Page 465
Senden von E-Mails an Neukunden......Page 467
Senden von HTML-Mail......Page 469
Senden von Stapel-E-Mails......Page 474
Kundenauswahl......Page 476
Erstellen einer Nachricht......Page 479
Senden der Nachrichten......Page 482
Zusammenfassung......Page 485
Verständnisfragen......Page 486
Erstellen von Berichten......Page 487
Berichte über Sitebesucher......Page 488
Site-Protokolle......Page 490
Das NCSA Allgemein-Protokollformat......Page 491
Das ODBC-Protokollformat......Page 493
Das Microsoft IIS-Protokollformat......Page 496
Das W3C Erweitert-Protokollformat......Page 498
Protokollanalyse......Page 503
Mit ASP Textprotokolle in eine Datenbank laden......Page 505
Analysieren der Protokolle mit ASP......Page 510
Zusammenfassung......Page 513
Verständnisfragen......Page 514
Arbeiten mit Wallets......Page 515
Realer Handel im Vergleich zu E-Commerce......Page 516
Elektronische Geldbörsen (Wallets)......Page 517
Client-Side Wallets......Page 518
Server-Site-Wallets......Page 520
Allgemeine Server-Site-Wallets......Page 521
Wallet-Standards......Page 524
Ihr eigenes Wallet......Page 525
Informationen von Wallets empfangen......Page 541
Fragen und Antworten......Page 542
Übungen......Page 543
Werben für Ihre Site und Verwaltung von Werbebannern......Page 545
Arbeiten mit Suchmaschinen......Page 546
Welcher ist der beste Weg, um in die Liste zu gelangen?......Page 547
Kürzer ist besser als länger......Page 549
Mehr ist besser als weniger......Page 550
Nur einige wenige Suchmaschinen verarbeiten einen Großteil der Suche......Page 551
Indizierbare Seiten reichen nicht aus......Page 558
Links zu anderen Seiten......Page 559
Probieren Sie es aus!......Page 560
Link Exchanges......Page 562
Für Werbebanner zahlen......Page 564
An Treueprogrammen teilnehmen......Page 565
Betreiben Sie Ihre Werbung selbst......Page 566
Die Übersichtsdatei......Page 567
Zusammenfassung......Page 569
Übung......Page 570
Rückblick auf Woche 3......Page 571
Bonusprojekt: Feedback-Bestätigung für den Kunden......Page 572
Bonus......Page 577
Quiz......Page 578
Quiz......Page 579
Quiz......Page 580
Quiz......Page 582
Quiz......Page 584
Übung......Page 585
Quiz......Page 586
Übung......Page 587
Quiz......Page 588
Quiz......Page 589
Übungen......Page 590
Übungen......Page 591
Quiz......Page 592
Quiz......Page 593
Quiz......Page 594
Quiz......Page 595
Quiz......Page 596
Übung......Page 597
Quiz......Page 598
Quiz......Page 599
Quiz......Page 600
Quiz......Page 601
Installationsfragen......Page 604
Allgemeine Fragen zu Skripten......Page 605
Fragen zu Dateien......Page 610
Fragen zum Browser......Page 611
Fragen zu ActiveX Data Objects......Page 612
Fragen zu Formularen und Abfrage-Zeichenfolgen......Page 615
Fragen zu Active Server Page Web Sites......Page 616
Stichwortverzeichnis......Page 619
A......Page 620
C......Page 621
D E......Page 622
I......Page 623
M......Page 624
Q......Page 625
S......Page 626
W......Page 627
Z......Page 628
Recommend Papers

E-Commerce-Programmierung mit ASP in 21 Tagen . Schritt-für-Schritt-Einstieg [1. Aufl.]
 3-8272-5839-1

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

E-CommerceProgrammierung mit ASP in 21 Tagen

Stephen Walther Jonathan Levine

E-CommerceProgrammierung mit ASP in 21 Tagen

Bitte beachten Sie: Der originalen Printversion liegt eine CD-ROM bei. In der vorliegenden elektronischen Version ist die Lieferung einer CD-ROM nicht enthalten. Alle Hinweise und alle Verweise auf die CD-ROM sind ungültig.

Markt+Technik Verlag

Die Deutsche Bibliothek – CIP-Einheitsaufnahme Ein Titeldatensatz für diese Publikation ist bei Der Deutschen Bibliothek erhältlich.

Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar.

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig. Fast alle Hardware- und Software-Bezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig auch eingetragene Warenzeichen oder sollten als solche betrachtet werden. Autorisierte Übersetzung der amerikanischen Originalausgabe: Teach Yourself E-Commerce Programming with ASP in 21 Days © by SAMS Publishing Umwelthinweis: Dieses Buch wurde auf chlorfrei gebleichtem Papier gedruckt. Die Einschrumpffolie – zum Schutz vor Verschmutzung – ist aus umweltverträglichem und recyclingfähigem PE-Material.

10 9 8 7 6 5 4 3 2 1 03 02 01

ISBN 3-8272-5839-1

© 2001 by Markt+Technik Verlag, ein Imprint der Pearson Education Deutschland GmbH. Martin-Kollar-Straße 10–12, D–81829 München/Germany Alle Rechte vorbehalten Einbandgestaltung: NOWAK werbeagentur & medien, Pfaffenhofen Lektorat: Jürgen Bergmoser, [email protected] Übersetzung: blue tec München Herstellung: Claudia Bäurle, [email protected] Satz: reemers publishing services gmbh, Krefeld Druck und Verarbeitung: Bercker, Kevelaer Printed in Germany

Inhaltsverzeichnis Inhaltsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Tag 1

Einführung in den E-Commerce . . . . . . . . . . . . . . . . . . . . 13 Was ist E-Commerce? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Microsoft-Technologien für den E-Commerce . . . . . . . . . . . . . Was ist eine ASP-Seite? . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 2

Interaktion mit dem Kunden . . . . . . . . . . . . . . . . . . . . . . . 29 Arbeit mit dem Response-Objekt . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit dem Request-Objekt . . . . . . . . . . . . . . . . . . . . . URL-Parameter und Formularfeldwerte auslesen. . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 3

30 36 48 54 55 56

Verwenden der Application- und -Session-Objekte in E-Commerce-Anwendungen. . . . . . . . . . . . . . . . . . . . . 57 Kundeninformationen mit Hilfe von Cookies gewinnen . . . . . . Kundeninformationen mit Hilfe von Session-Variablen gewinnen . . . . . . . . . . . . . . . . . . . . . . . . . Verwendung von Application-Variablen . . . . . . . . . . . . . . . . . Verwendung der Global.asa-Datei . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 4

14 16 20 25 25 26

58 63 68 74 77 78 79

Arbeiten mit Dateien in Ihrer E-CommerceAnwendung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Einfügen von Dateien in eine ASP-Seite. . . . . . . . . . . . . . . . . 82 Verwenden von Dateiumleitungen . . . . . . . . . . . . . . . . . . . . . 87 Verwendung der File-Access-Komponente . . . . . . . . . . . . . . . 90

5

Inhaltsverzeichnis

Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Fragen & Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Tag 5

Erstellen Ihres Produktkatalogs . . . . . . . . . . . . . . . . . . . . 103 Anlegen der Store-Datenbank . . . . . . . . . . . . . . . . . . . . . . . Anlegen der Produkttabelle . . . . . . . . . . . . . . . . . . . . . . . . . Verbindung zu einer Datenbank . . . . . . . . . . . . . . . . . . . . . . Hinzufügen von Produkten zu der Produkttabelle . . . . . . . . . Aktualisieren von Produktinformationen in der Produkttabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 6

164 173 179 181 181 182 184

Erstellen der Transaktionsdatenbank . . . . . . . . . . . . . . . 189 Die Tabellen der Transaktionsdatenbank. . . . . . . . . . . . . . . . Erstellen der Datenbanktabelle des Benutzers . . . . . . . . . . . . Registrierung von Benutzern . . . . . . . . . . . . . . . . . . . . . . . . Abfangen von Fehlern innerhalb des Formulars . . . . . . . . . . Verwenden von Secure Sockets Layer . . . . . . . . . . . . . . . . .

6

138 142 157 160 160 161

Suchen Ihrer Produkte. . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Anzeigen einer Liste der Sonderangebote. . . . . . . . . . . . . . . Erstellen einer Suchseite . . . . . . . . . . . . . . . . . . . . . . . . . . . Erstellen von indizierbaren Webseiten. . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bonusprojekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 8

120 134 134 135

Die Anzeige Ihrer Produkte . . . . . . . . . . . . . . . . . . . . . . . 137 Verwenden von Datensätzen . . . . . . . . . . . . . . . . . . . . . . . . Anzeigen von Produkten. . . . . . . . . . . . . . . . . . . . . . . . . . . Wie machen Sie Ihren Shop skalierbar? . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 7

104 105 108 110

190 191 192 203 205

Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Tag 9

Erstellen des Warenkorbs . . . . . . . . . . . . . . . . . . . . . . . . 213 Verwenden von Session-Variablen zum Erstellen eines Warenkorbs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verwenden der grundlegenden ADO-Methoden . . . . . . . . . . Verwenden einer Datenbanktabelle zum Erstellen eines Warenkorbs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 10

238 244 251 260 260 261

Arbeiten mit Kreditkarten . . . . . . . . . . . . . . . . . . . . . . . . 263 Wählen Sie eine Methode für das Verarbeiten von Kreditkarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vorbereitungen zu CyberCash . . . . . . . . . . . . . . . . . . . . . . . Kreditkarten-Transaktionen autorisieren . . . . . . . . . . . . . . . . Kreditkarten-Transaktionen einstellen. . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 12

228 235 235 236

An der Kasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Was sind Transaktionen? . . . . . . . . . . . . . . . . . . . . . . . . . . Vervollständigen der Bestellung . . . . . . . . . . . . . . . . . . . . . . Verarbeiten der Bestellungen. . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 11

214 222

264 267 272 281 284 284 285

Lassen Sie Kunden ihre Bestellungen verfolgen . . . . . . . 287 Lassen Sie Ihre Kunden die Bestellungen auf einer Webseite verfolgen. . . . . . . . . . . . . . . . . . . . . . . . . . . Zustellungskosten berechnen . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

288 293 301 301 302

7

Inhaltsverzeichnis

Tag 13

Erstellen von Sites, die auf Abonnements basieren . . . . 303 Die HTTP-Zugriffsberechtigung . . . . . . . . . . . . . . . . . . . . . . Verwendung der Datenbank-Zugriffsberechtigung . . . . . . . . . Verwenden von hybriden Authentifizierungen . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 14

Kundenspezifisches Shopping-Erlebnis . . . . . . . . . . . . . . 329 Existierende Anwendereinstellungen wieder aufgreifen . . . . . Kundennahe Produktwerbung . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bonusprojekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 15

330 340 350 351 352 354

Sicherheitsvorkehrungen für Ihren Shop treffen . . . . . . . 361 Ihre eigene Domäne registrieren . . . . . . . . . . . . . . . . . . . . . Domänennamen und Marketing . . . . . . . . . . . . . . . . . . . . . So registrieren Sie Ihren Domänennamen selbst . . . . . . . . . . Ihren Server sicherer machen . . . . . . . . . . . . . . . . . . . . . . . Mit SSL private Informationen der Anwender schützen . . . . . Ihre Datenbank schützen. . . . . . . . . . . . . . . . . . . . . . . . . . . Das Better Business Bureau Reliability-Programm . . . . . . . . . Aufstellen von Geheimhaltungsrichtlinien und deren Zertifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Better Business Bureau's Children's Advertising Review Unit Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 16

304 308 320 327 327 328

362 363 364 366 372 374 376 377 379 381 381 381

Das Debugging von E-Commerce-Applikationen . . . . . . 383 Separate Entwicklungs- und Produktionssysteme. . . . . . . . . . 384 Mit Visual InterDev integriertem Debugger Applikationen testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Eine Applikation auf einem Produktionsserver debuggen . . . . 400

8

Die Anwendung von iDebugLevel . . . . . . . . . . . . . . . . . . . . Fehler in einer Logdatei erfassen . . . . . . . . . . . . . . . . . . . . . Testen der Skalierbarkeit. . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tag 17

Remote-Verwaltung Ihres Shops mit ASP . . . . . . . . . . . . 417 Die IIS-Verwaltungsseiten . . . . . . . . . . . . . . . . . . . . . . . . . . Installieren und Verwalten des IIS FTP Services . . . . . . . . . . . Hochladen von Dateien auf eine Site, die FTP verwendet. . . . Fortgeschrittene Wartung des webbasierten Produktkatalogs . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verständnisfragen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 18

454 457 459 460 474 485 486 486

Erstellen von Berichten . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Berichte über Sitebesucher . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 20

418 425 428 430 449 450 451 451

E-Mail und Active Server Pages. . . . . . . . . . . . . . . . . . . . 453 Die Grundlagen von Internet Mail . . . . . . . . . . . . . . . . . . . . Konfigurieren des SMTP Services . . . . . . . . . . . . . . . . . . . . Die Collaboration-Datenobjekte für NT Server (CDONTS) . . . Senden von E-Mail von einer ASP-Seite . . . . . . . . . . . . . . . . Senden von Stapel-E-Mails . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tag 19

403 409 411 413 413 414

488 513 514 514

Arbeiten mit Wallets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Realer Handel im Vergleich zu E-Commerce. . . . . . . . . . . . . Elektronische Geldbörsen (Wallets) . . . . . . . . . . . . . . . . . . . . Wallet-Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ihr eigenes Wallet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

516 517 524 525

9

Inhaltsverzeichnis

Informationen von Wallets empfangen . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tag 21

541 542 542 543

Werben für Ihre Site und Verwaltung von Werbebannern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 Web Rings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Werbebanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Für Werbebanner zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . An Treueprogrammen teilnehmen . . . . . . . . . . . . . . . . . . . . Andere Wege, um den Umsatz zu erhöhen . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bonusprojekt: Feedback-Bestätigung für den Kunden . . . . . .

560 562 564 565 566 569 570 570 572

Anhang A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Anhang B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619

10

Überblick

1 Woche

In dieser Woche werden Sie mit der Erstellung Ihres Online-Stores beginnen. In der ersten Lektion werden Sie in E-Commerce und das Erstellen von Active Server Pages eingeführt. Sie werden drei verschiedene E-Commerce Modelle kennen lernen. Des weiteren werden Sie einen Überblick über die Microsoft-Technologien und die Erstellung kommerzieller Websites bekommen. Die nächsten drei Lektionen, vom 2. bis 4. Tag, werden aus einem Crash-Kurs im Programmieren von Active Server Pages bestehen, wobei der Schwerpunkt auf der Erstellung kommerzieller Websites liegt. Sie werden lernen, wie man Active Server Pages-Scripts schreibt und wie man Kundeninformationen abruft. Sie werden ebenfalls lernen, wie man Kundeninformationen mit Hilfe von Cookies und SessionVariablen verfolgt. Schließlich werden Sie lernen, wie man mit Dateien in Active Server Pages arbeitet. Am 5. Tag werden Sie mit der Erstellung Ihres Online-Stores beginnen. Zuerst werden Sie lernen, wie man Active Server Pages erstellt, um Ihren Produktkatalog zu pflegen. Danach, am 6. Tag, werden Sie lernen, wie Sie Produktseiten für Ihren Store anlegen. Zuletzt, in der Lektion des 7. Tages, werden Sie einige Techniken erlernen, die es dem Kunden ermöglichen, den Produktkatalog durchzublättern. Sie werden in der Lage sein, Ihren Produktkatalog ins Web zu stellen.

12

1 Einführung in den E-Commerce Woche 1

1

Einführung in den E-Commerce

Das explosionsartige Wachstum des Internetgeschäfts hat das Interesse der Öffentlichkeit geweckt. Diese Tatsache lässt sich einfach erklären. Ein Großteil der Internet-Faszination ist durch die großen Gewinne hervorgerufen worden, die das Internet mit sich bringt. Viele Leute haben eine Menge Geld damit gemacht. Laut einer kürzlich von Cisco Systems erstellten Studie wird vermutet, dass mit dem Internet im Jahr 2000 ein Umsatz von 507 Milliarden Dollar erzielt wird (siehe http://www.internetindicators.com). E-Commerce bringt jetzt schon mehr Geld ein als die Telekommunikations- und Luftfahrtbranche. eBay, eine Firma, die vor weniger als fünf Jahren von einem Mann gegründet worden ist, der nach einer effizienteren Methode suchte, um die Pez-Spender seiner Frau zu verkaufen, hat vor kurzem Butterfield & Butterfield, ein seit 135 Jahren bestehendes Aktionshaus, aufgekauft. Und Amazon, eine vor knapp fünf Jahren gegründete Firma, verkauft heute online fünfmal so viele Bücher wie der renommierte Buchhandel Barnes and Noble. Die Welt verändert sich. Es liegt noch nicht lange zurück, dass das Erstellen von Webseiten, besonders die für den Handel ausgerichteten Webseiten, eine Aufgabe war, die bestenfalls Absolventen des Massachusetts Institute of Technology übertragen wurde. Man hatte keine andere Wahl, als sich mit der unverständlichen Syntax der Sprachen wie Perl abzumühen oder mit Programmiersprachen auf niedriger Ebene wie C++ zu arbeiten. Glücklicherweise hat Microsoft-Technologien entwickelt, die es Ihnen ermöglichen, schnell eine kommerzielle Webseite zu erstellen: Active Server Pages (ASP). Mit der Verwendung von Active Server Pages können sie Webseiten mit der gleichen Qualität wie der von Dell.com oder BarnesandNable.com erstellen (beides Webseiten, die mit Active Server Pages erstellt worden sind). In der heutigen Lektion werden Sie in zwei Themengebiete dieses Buches eingeführt: E-Commerce und Active Server Pages. Wir werden die folgenden Fragen diskutieren: 1. Welche Bedeutung hat es für ein Unternehmen, im E-Commerce aktiv zu sein? 2. Welche Microsoft-Technologien gibt es, um kommerzielle Webseiten zu erstellen. 3. Was ist eine ASP-Seite?

Was ist E-Commerce? Unter E-Commerce versteht man den Prozess des Kaufs oder Verkaufs eines Produkts oder einer Dienstleistung über ein elektronisches Netzwerk. Das beliebteste Medium, über das E-Commerce betrieben wird, ist das Internet.

14

Was ist E-Commerce?

1

E-Commerce umfasst drei Arten von Geschäftstransaktionen. Zum einen kann die Transaktion zwischen einem Unternehmen und einem Kunden stattfinden. Wenn man an E-Commerce denkt, ist dies das erste, an das man denkt. Amazon ist ein gutes Beispiel für den business-to-consumer-E-Commerce. Amazon wirbt für sich, als »die Stelle, bei der man alles finden und entdecken kann, was man online kaufen möchte«. Amazon verkauft dem Kunden online Bücher, CDs, elektronische Geräte und Videos. Business-to-consumer-E-Commerce kann auch Dienstleistungen beinhalten. Eine anmeldepflichtige Webseite, die keine materiellen Güter verkauft, fällt auch unter den Begriff E-Commerce. Match.com – ein Online Partnervermittlungsservice – verkauft Zugangsberechtigungen zu seiner Webseite, die es Kunden ermöglichen die Listen zu durchsuchen, um einen Partner zu finden. Eine zweite allgemeine Form von E-Commerce umfasst Transaktionen zwischen zwei Unternehmen. Ein Unternehmen, das in dieser Art des E-Commerce aktiv ist, fällt dem Kunden und damit der breiten Öffentlichkeit weniger auf. Cisco Systems ist ein klassisches Beispiel für ein Unternehmen, das im business-to-business-E-Commerce aktiv ist. Cisco Systems legt eine physikalische Infrastruktur des Internets an, die es Unternehmen ermöglicht zu kommunizieren. Eine letzte Form des E-Commerce, die in den letzten Jahren sehr beliebt geworden ist, ist die Transaktion vom Kunden zum Kunden. Das bekannteste Beispiel für ein Unternehmen, das diese Art von E-Commerce betreibt, ist eBay. eBay ermöglicht es seinen Kunden, Gegenstände an andere Kunden zu versteigern. (eBay erhebt für jede Transaktion eine Gebühr). Die Wurzeln des E-Commerce liegen im EDI (Electronic Data Interchange). EDI ist eine strukturierte Methode, Informationen von einem Computer zu einem anderen zu übermitteln. EDI wurde entwickelt, um es Unternehmen zu ermöglichen, Geschäftsdokumente zu übermitteln, wie zum Beispiel Rechnungen oder Kaufaufträge. EDI kann auch für die Übertragung vieler anderer Arten von Informationen genutzt werden. Universitäten verwenden EDI, um Abschriften zu übermitteln und Krankenkassen nutzen EDI, um Patientenberichte zu übermitteln. Wenn man an E-Commerce denkt, denkt man sofort an einen Kunden, der ein Produkt von einer Webseite aussucht und dieses online mit seiner Kreditkarte bezahlt. Oder mit anderen Worten, es sieht so aus, als ob eine Kreditkarten-Transaktion ein wesentlicher Bestandteil des E-Commerce ist. Aber E-Commerce kann auch nur die Aktivitäten umfassen, die zum Kauf führen, nicht aber den eigentlichen Kauf. Nehmen wir einmal an, Sie haben einen Store (hier im Sinne eines wirklichen Ladens und kein virtueller Store) in dem Sie Küchengeräte wie Herde oder Kühlschränke verkaufen. Sie könnten sich dazu entscheiden, dass es sinnvoll ist, eine Website anzu-

15

1

Einführung in den E-Commerce

legen, die eine Liste der Geräte enthält, die Sie in Ihrem Laden verkaufen, auch wenn Sie dem Kunden keine Möglichkeit bieten, Ihre Produkte online zu kaufen. Der einzige Zweck der Website ist es, den Kunden zu animieren, einen real existierenden Laden zu besuchen. Dies ist also auch eine gültige Form des E-Commerce. Eine gute Informationsquelle zum Thema E-Commerce ist die Webseite der Electronic Commerce Policy (http:\\www.ecommerce.gov) der US-Regierung. Hier findet man eine Anzahl von interessanten Berichten zum Thema E-Commerce. Finanziert wird das Ganze aus Steuermitteln.

Microsoft-Technologien für den E-Commerce Die Lektionen in diesem Buch konzentrieren sich auf die Anwendung von MicrosoftTechnologien, um kommerziell nutzbare Webseiten anlegen zu können. Die Lektionen setzen voraus, dass Sie sowohl mit einem Microsoft-Webserver als auch mit einer Microsoft-Datenbank arbeiten. Microsoft bietet zwei Webserver an: Den Personal Web Server und den Internet Information Server. Sie benötigen einen der beiden Webserver auf Ihrem Computer, um die Lektion abschließen zu können. (Für einige der fortgeschrittenen Lektionen ist der Internet Information Server erforderlich.) Sie benötigen zusätzlich Zugang zu einer Datenbank, um die Lektionen abschließen zu können. Für die Lektionen ist es erforderlich, dass Sie entweder mit Microsoft Access oder mit dem Microsoft SQL Server arbeiten. Dennoch können Sie bei den meisten Lektionen mit geringfügigen Änderungen auch andere Datenbank-Server wie zum Beispiel Oracle verwenden. Die folgenden Abschnitte liefern einen kurzen Überblick über die Unterschiede zwischen diesen Programmen und den Microsoft-Anwendungen für die Erstellung kommerzieller Webseiten.

Microsoft Personal Web Server Der Microsoft Personal Web Server arbeitet mit Windows 95, Windows 98 oder Windows NT Workstation. Sie können den Personal Web Server kostenlos unter der folgenden Internetadresse herunterladen: http://www.microsoft.com/windows/ie/pws/default.htm

16

Microsoft-Technologien für den E-Commerce

1

Wegen einiger mysteriöser Gründe hat Microsoft den Personal Web Server dem Windows NT Option Pack beigelegt. Dies ist deswegen verwirrend, da der Personal Web Server für Windows 95 oder Windows 98 entwickelt wurde. Der Personal Web Server wurde entwickelt, um zwei Ziele verfolgen zu können. Sie können ihn für eine wenig besuchte Webseite nutzen (zum Beispiel um Dokumente im Intranet Ihrer Firma bereitzustellen). Als Alternative können Sie den Personal Web Server auch dazu nutzen, einen Prototypen einer Webseite zu erstellen, um den Inhalt einer Seite zum Internet Information Server zu übermitteln. An dieser Stelle muss betont werden, dass der Personal Web Server kein geeigneter Webserver ist, um eine aktuelle Seite im Internet zur Verfügung zu stellen. Er kann nicht eine große Anzahl von Benutzern gleichzeitig unterstützen. Wenn es nicht ausdrücklich anders erwähnt ist, können Sie mit dem Personal Web Server aber in allen Lektionen arbeiten, die in diesem Buch behandelt werden.

Microsoft Internet Information Server Wenn Sie bereit sind, Ihre Website ins Internet zu stellen, müssen Sie mit dem Microsoft Internet Information Server arbeiten, da er hunderte, ja sogar tausende gleichzeitige Benutzer bedienen kann. Einige der größten Webseiten im Internet nutzen den Internet Information Server. Daher ist es nicht überraschend, dass Microsoft den Internet Information Server für seine eigene Webseite http://www.microsoft.com. einsetzt. Die Microsoft-Seite steht an vierter Stelle der am häufigsten besuchten Seiten im Internet. (Sie zählt ungefähr fünf Millionen Besucher pro Tag.) Der Internet Information Server ist nicht kompatibel mit Windows 95 oder Windows 98. Für den Internet Information Server muss mit dem Windows NT Server oder dem Windows 2000 Server gearbeitet werden. Er ist in beiden Betriebssystemen enthalten. Wenn Sie sehr ehrgeizige Pläne für Ihre Website haben, können Sie den Internet Information Server zusammen mit dem Windows 2000 Advanced Server nutzen. Der Windows 2000 Advanced Server beinhaltet die Unterstützung für das Server Clustering, das es Ihnen ermöglicht, Ihre Webseite über mehrere Maschinen verteilt laufen zu lassen.

17

1

Einführung in den E-Commerce

Microsoft Access Um eine kommerzielle Website aufzubauen, müssen Sie mit einer Datenbank arbeiten, um die Produkt- und Bestellinformationen zu speichern. Wenn nichts anderes vermerkt ist, wird in den Lektionen dieses Buchs davon ausgegangen, dass Sie als Datenbank Microsoft Access verwenden. Microsoft Access gehört zu den Produkten der Microsoft Office-Familie und kann in fast allen Geschäften, die Software verkaufen, erworben werden. Microsoft Access ist eine Desktop-Datenbank und keine Client/Server-Datenbank wie der SQL Server (auf den im nächsten Abschnitt näher eingegegangen wird). Da es sich bei Microsoft Access um eine Desktop-Datenbank handelt, sollten Sie es nur verwenden, um den Prototypen Ihrer Webseite zu erstellen oder um eine wenig besuchte Webseite aufzubauen. In der Regel kann die Microsoft Access-Datenbank nicht mehr als ungefähr 30 Kundenanfragen gleichzeitig bearbeiten. Nachdem Sie eine Webseite mit Microsoft Access aufgebaut haben, kann sie mit dem SQL Server aufgerüstet werden. (Microsoft bezeichnet diesen Vorgang als »upsizing« was so viel bedeutet wie »vergrößern«). Microsoft hat ein Werkzeug, das Upsizing Tools genannt wird und das es ermöglicht, eine Microsoft Access-Datenbank zu einer Microsoft SQL Server-Datenbank zu konvertieren (es konvertiert Tabellen und übliche Abfragen). Wenn Sie mit Microsoft Access 97 arbeiten, können sie die Upsizing Tools unter folgender Adresse herunterladen: http://www.microsoft.com/accessdev/prodinfo/aut97dat.htm. Wenn Sie Microsoft Access 2000 verwenden, ist ein Herunterladen nicht erforderlich. Die Upsizing Tools sind in Microsoft Access 2000 enthalten.

Microsoft SQL Server Im Gegensatz zu Microsoft Access stellen für den Microsoft SQL Server 7.0 auch tausende von gleichzeitigen Benutzern oder auch Terabyte große Datenbanken kein Problem dar. Der SQL Server ermöglicht es Ihnen, einen Online-Store von beliebiger Größe aufzubauen. Einige der größten kommerziellen Webseiten im Internet nutzen den SQL Server, dazu gehören auch Dell, Buy.com, Barnes und Noble und 1-800flowers.com. Es gibt drei Versionen des SQL Servers 7.0: SQL Server Desktop Edition, SQL Server Standard Edition und SQL Server Enterprise Edition. SQL Server Desktop Edition arbeitet mit Windows 95, Windows 98 oder Windows NT Workstation. SQL Server Standard Edition ist darauf ausgerichtet, mit Windows NT Server oder Windows 2000 Server zu arbeiten. Bei der Microsoft SQL Server Enterprise Edition handelt es sich um eine überarbeitete Version der Standard Edition, die mehr Speicher, mehrere Prozessoren, Clustering und Online Analytical Processing (OLAP) unterstützt.

18

Microsoft-Technologien für den E-Commerce

1

Wenn Sie keine kommerzielle Webseite mit sehr großem Volumen erstellen wollen, sollten Sie die Standard Edition des Microsoft SQL Servers mit dem Windows NT Server Betriebssystem einsetzen. Sie können eine Testversion des SQL Servers von Microsoft herunterladen, wenn Sie die folgende Internetadresse besuchen (die Testversion endet automatisch nach Ablauf von 120 Tagen): http://www.microsoft.com/sql/productinfo/evalcd.htm

Um den Microsoft SQL Server im Web nutzen zu können, müssen Sie die korrekten Lizenzen erwerben. Microsoft verlangt, dass Sie die Internet Connector-Lizenz erwerben, wenn andere Person vom Internet auf den SQL Server zugreifen. Es ist außerdem erforderlich, eine zusätzliche Lizenz für jeden Prozessor auf jedem Server zu erwerben, auf dem der SQL Server läuft. Ich empfehle Ihnen sehr, dass Sie zum SQL Server umsteigen, bevor die Öffentlichkeit Ihre Webseite im Internet besucht. Das Arbeiten mit der aktuellen Version ist nicht viel schwieriger als das Arbeiten mit Microsoft Access. Ausserdem ist der SQL Server zuverlässiger und leistungsfähiger als Microsoft Access.

Microsoft Visual InterDev Microsoft Visual InterDev ist eine Entwicklungsumgebung, um Webseiten zu erstellen. In einer seiner Grundfunktionen ist Microsoft Visual InterDev ein phantastischer Texteditor, der es Ihnen ermöglicht, eine Webseite auf einem lokalen Server oder einem remote Server zu ändern. Sie können Visual InterDev sowohl für Active Server Pages als auch für normale HTML-Seiten verwenden. Der Visual InterDev integriert sich perfekt in den Microsoft SQL Server. Sie können Visual InterDev verwenden, um Datenbanktabellen zu gestalten und zu ändern und um Stored Procedures zu erstellen. Visual InterDev arbeitet mit jeder ODBC- oder OLE DB-kompatiblen Datenbank. Sie brauchen Visual InterDev nicht, um eine ASP-Seite zu erstellen. Sie können eine ASP-Seite erstellen, indem Sie den Standard Text Editor verwenden. Notepad, der Texteditor, über den alle Windows-Betriebssysteme verfügen, reicht völlig aus. Der Visual InterDev erleichtert es jedoch sehr, umfangreiche Webseiten zu pflegen. Visual InterDev verfügt auch über verschiedene Werkzeuge zur Fehlersuche. Microsoft bietet noch ein anderes Produkt zur Erstellung von Webseiten an: Microsoft FrontPage. Ich empfehle es jedoch nicht, Microsoft FrontPage für die Erstellung von Webseiten zu verwenden, die Interactive Server Pages beinhalten. Microsoft FrontPage hat die Tendenz, den Quelltext einer Seite automatisch zu ändern. Dies bedeutet, dass es häufig ein ASP-Script durcheinander bringen kann, an dem Sie stundenlang gearbeitet haben.

19

1

Einführung in den E-Commerce

Was ist eine ASP-Seite? Die Lektionen der folgenden Tage beschreiben, wie Sie eine kommerzielle Webseite unter Verwendung von Active Server Pages erstellen können. Aber Sie werden sich fragen, was genau eine ASP-Seite ist. Eine ASP-Seite ist irgendeine Datei auf Ihrem Webserver, die die Endung .ASP besitzt. Diese spezielle Endung unterscheidet eine ASP-Seite von einer normalen HTML-Datei, die mit der Endung .HTML oder .HTM endet. Wenn ein Benutzer eine Webseite besucht und eine normale HTML-Seite verlangt, ruft der Webserver einfach eine Datei von der Festplatte des Computers oder aus dem Speicher ab und sendet die Datei zum Browser des Benutzers. Der Browser interpretiert den HTML-Inhalt und der Besucher sieht die Webseite. Wenn jemand eine normale HTML-Seite aufruft, kümmert sich der Webserver nicht um den Inhalt der Datei. Die Rolle des Webservers besteht einfach darin, geeignete Dateien abzurufen, ohne sie zu verarbeiten. Die Arbeit, den Inhalt der Datei auszuwerten, wird vom Webbrowser des Benutzers vorgenommen. Wenn jemand eine ASP-Seite aufruft, übernimmt der Webserver eine aktivere Rolle. Bevor die Datei an den Webbrowser des Benutzers gesendet wird, wird sie vom Webserver verarbeitet. Der Webserver interpretiert und verarbeitet jedes Script einer ASPSeite, bevor er sie an den Benutzer sendet. Zum Beispiel beinhaltet die Datei in Listing 1.1 eine sehr einfache ASP-Seite mit Namen showtime.asp. Diese Seite zeigt die aktuelle Zeit an. Listing 1.1: Anzeige der aktuellen Uhrzeit 1 2 3 4 5 6

Show Time

At the tone, the time will be:

Wenn jemand die showtime.asp-Datei von einem Webserver aufruft, erkennt der Webserver diese Datei als ASP-Seite, da der Name der Datei mit .ASP endet. Bevor die Datei zum Browser des Benutzers gesendet wird, führt der Webserver zuerst jedes Script in der Datei aus. Im Fall der showtime.asp.-Datei bedeutet das, dass im Text in Zeile 4 die aktuelle Zeit eingefügt wird. Die aktuelle Datei, die zum Webserver gesendet wird, ist in Listing 1.2 dargestellt. Beachten Sie, dass es sich um eine normale HTML Datei handelt. Alle Scripts sind auf

20

Was ist eine ASP-Seite?

1

dem Webserver ausgeführt bevor die Datei zum Browser gesendet wird. Da eine ASPSeite auf dem Server und nicht auf dem Browser ausgeführt wird, ist sie mit allen Webbrowsern kompatibel. Listing 1.2: Inhalt nach der Ausführung 1 2 3 4 5 6

Show Time

At the tone, the time will be: 4:55:36 AM

Active Server Pages enthalten Scripts Active Server Pages enthalten Scripts, die auf dem Server ausgeführt werden. In den Lektionen dieses Buchs werden wir mit der Microsoft Visual Basic Scripting Edition (VBScript) als Scriptsprache arbeiten. Eine ASP-Seite kann jedoch auch Scripts enthalten, die mit anderen Scriptsprachen geschrieben wurden, wie zum Beispiel Microsoft JScript (Microsofts JavaScripts-Version) oder PerlScript. Microsoft liefert JScript mit den Active Server Pages zusammen aus. PerlScript wird nicht von Microsoft hergestellt. Um mit PerlScript arbeiten zu können, müssen Sie es zuerst unter folgender Adresse herunterladen: http://www.activestate.com. Scriptsprachen wie VBScript unterscheiden sich von vollwertigen Programmiersprachen, wie zum Beispiel Visual Basic und Java, durch seine einfachen Regeln und seine einfache Syntax. So ist es für ein VBScript zum Beispiel nicht notwendig, dass Sie Variablen mit speziellen Datentypen einführen. Ausserdem müssen Sie nicht, anders als bei Visual Basic oder Java, eine ASP-Seite in eine separate Datei übersetzen, bevor Sie sie ausführen können. Wenn Sie die ASPSeite ändern, ist die Seite automatisch wieder übersetzt, wenn sie das nächste Mal aufgerufen wird. Der Vorteil, mit einer Scriptsprache zu arbeiten, liegt darin, dass es leicht möglich ist, eine Webseite zu ändern, auch nachdem sie bereits gestartet wurde. Wenn Sie einen Fehler auf Ihrer Webseite entdecken, können Sie die betreffende Seite schnell mit Notepad bearbeiten und das Problem beheben. Sie sollten aus der Tatsache, dass eine ASP-Seite mit einer Scriptsprache arbeitet, nicht den Rückschluss ziehen, dass Active Server Pages langsam sind oder nicht leicht zu warten sind. ASP-Scripts laufen im selben Prozessraum wie der Webserver und sie

21

1

Einführung in den E-Commerce

laufen in mehreren Threads ab. Dies ermöglicht einer ASP-Seite, eine große Anzahl gleichzeitiger Benutzer effizient zu unterstützen.

Active Server Pages beinhalten Objekte und Komponenten Eine ASP-Seite wäre in ihrer Funktion stark eingeschränkt, wenn sie nur Scripts enthalten würde. Sie könnten mit ihr die aktuelle Zeit oder interessante Mitteilungen anzeigen, aber Sie könnten vom Benutzer keine Informationen abrufen, Sie könnten keine Daten in einer Datenbank speichern oder Dateien auf dem Server erstellen. Glücklicherweise beinhaltet eine ASP-Seite auch serverseitige Komponenten. Eine Komponente verfügt typischerweise über Methoden, Eigenschaften und Sammlungen. Eine Komponenten-Methode legt die Aktionen fest, die Sie mit einem Objekt durchführen können. Die Eigenschaften einer Komponente können gelesen oder gesetzt werden, um den Status der Komponente zu spezifizieren. Die Aufzählungen einer Komponente sind Mengen von Schlüsseln und Werten, die sich auf die Komponente beziehen. Dieses Buch ist ein Beispiel für eine Komponente. Die Komponente verfügt über bestimmte Methoden, die festlegen, was Sie mit dem Buch machen können. Sie können es zum Beispiel lesen, als Türstopper benutzen oder (und bitte tun Sie das nicht) es in Fetzen reißen. Das Buch hat bestimmte Eigenschaften. Es hat ein bestimmtes Gewicht und eine bestimmte Anzahl an Seiten. Schließlich verfügt es noch über eine Aufzählung von Schlüsseln und Werten. Zu jeder Seitennummer (der Schlüssel) gibt es eine entsprechende Textseite (der Wert). Active Server Pages beinhalten zwei Arten von Komponenten: eingebaute Objekte und installierbare Objekte. Im Folgenden werden die sechs eingebauten Active Server Pages-Objekte kurz beschrieben. 1. Application-Objekt – Das Application-Objekt beinhaltet die Informationen, die unter allen Benutzern einer Active Server Page-Anwendung geteilt werden können. 2. ObjectContext-Objekt – Das ObjectContext-Objekt wird mit transaktionsorientierten Active Server Pages verwendet. 3. Request-Objekt – Das Request-Objekt beinhaltet alle Informationen, die von einem Browser zu einem Server gesendet werden, einschließlich der Variablen und Anfrage-Zeichenketten. 4. Response-Objekt – Das Response-Objekt beinhaltet alle Informationen die von einem Server zu einem Browser geschickt werden, einschließlich der des HTMLInhalts, der von einer ASP-Seite erzeugt wird.

22

Was ist eine ASP-Seite?

1

5. Server-Objekt – Das Server-Objekt ermöglicht die Verwendung vieler nützlicher Funktionen auf dem Server. 6. Session-Objekt – Das Session-Objekt beinhaltet Informationen über einzelne Benutzersitzungen. Die neue Version der Active Server Pages, die in Windows 2000 enthalten ist, beinhaltet noch ein zusätzliches eingebautes Objekt mit Namen ASPError. Das ASPError-Objekt beinhaltet Informationen über Fehler, die in der ASP-Seite aufgetaucht sind. Listing 1.3 zeigt an einem Beispiel, wie Sie das Response-Objekt einsetzen können, um den Text "Hello World!" zum Browser auszugeben. Listing 1.3: Hello World! 1 2 3 4 5 6 7 8

Hello World!



Zusätzlich zu den eingebauten Objekten werden verschiedene installierbare Komponenten mit den Active Server Pages ausgeliefert. Hier eine Liste der nützlichsten Komponenten: 1. Ad Rotator-Komponente – Die Ad Rotator-Komponente wird verwendet, um Werbebanner auf den einzelnen Seiten einer Website anzuzeigen. Sie können diese Komponente verwenden, um zu spezifizieren, wie oft unterschiedliche Werbebanner angezeigt werden sollen. 2. Browser Capabilities-Komponente – Die Browser Capabilities-Komponente kann eingesetzt werden, um verschiedene HTML-Inhalte entsprechend der Fähigkeiten der verschiedenen Browser anzuzeigen. Als Beispiel können Sie diese Komponente einsetzen, um Web Seiten mit Frames nur auf Browsern mit Frameunterstützung anzuzeigen. 3. Content Linking-Komponente – Die Content Linking-Komponente kann verwendet werden, um verschiedene HTML-Seiten miteinander zu verbinden, damit man sich einfach zwischen diesen bewegen kann. Diese Komponente können Sie zum Beispiel verwenden, um die Seiten eines Online-Buchs miteinander zu verknüpfen.

23

1

Einführung in den E-Commerce

4. File Access-Komponente – Die File Access-Komponente ermöglicht es Ihnen, mit dem Dateisystem Ihres Computers zu arbeiten. Diese Komponente können Sie verwenden, um Textdateien zu lesen und zu schreiben. Anders als bei den integrierten Active Server Pages-Objekten müssen Sie eine Instanz einer installierbaren Komponenten anlegen, bevor Sie diese in einer ASP-Seite verwenden können. Die ASP-Seite in Listing 1.4 erstellt eine Ad Rotator-KomponentenInstanz und zeigt einen Werbebanner an. Listing 1.4: Das Verwenden der Ad Rotator-Komponente 1 2 3 4 5 6 7 8 9

Ad Rotator Component



Was ist der Unterschied zwischen einer Komponente und einem Objekt? Ein Objekt ist eine Instanz einer Komponente. Die in Active Server Pages integrierten Objekte werden eher Objekte als Komponenten genannt, da sie schon implizit instanziiert sind. Ihnen sind in der Verwendung von Komponenten, die mit den Active Server Pages ausgeliefert wurden, keine Grenzen gesetzt. Es gibt hunderte von Komponenten, die von Drittfirmen erstellt wurden, die Sie in Ihre Scripts integrieren können. Sie können diese Komponenten einsetzen, um die Übertragung von Dateien zu akzeptieren, um Dateien innerhalb der Server zu übertragen oder um E-Mails zu senden oder zu erhalten. Sie können auch eigene Komponenten erstellen, indem Sie eine Computersprache wie Visual Basic, C++ oder Java verwenden. Eine umfangreiche Liste von Komponenten finden Sie im Softwareabschnitt von ASP Superexpert auf http://asp.superexpert.com/software.

Active Server Pages und Datenbankzugriff Eine besondere Menge an Objekten ist in den Active Server Pages enthalten, die in einem eigenen Abschnitt behandelt werden: Die ActiveX-Datenobjekte (ActiveX Data Objects ADO). Die ActiveX-Datenobjekte ermöglichen es Ihnen, von einer ASP-Seite aus Zugriff auf eine Datenbank zu erhalten.

24

Zusammenfassung

1

Sie können ActiveX-Datenobjekte verwenden, um Zeilen in eine Datenbanktabelle einzufügen, Zeilen zu ändern oder zu löschen. Sie können sie auch nutzen, um Mengen von Datensätzen aus einer Datenbankabfrage zu erhalten und diese Datensätze in einer ASP-Seite darzustellen. In den Lektionen dieses Buchs werden Sie lernen, wie Sie die ActiveX Datenobjekte verwenden, um Daten sowohl von einer Microsoft Access-Datenbank als auch von einer Microsoft SQL Server-Datenbank abzurufen und zu speichern. ActiveX Datenobjekte können mit jeder Open Database Connectivity (ODBC) oder OLE DB- kompatiblen Datenbank verwendet werden. Dazu zählen auch Oracle-, Sybase-, Informix-, DB2- und Ingres- Datenbanken.

Zusammenfassung Die heutige Lektion hat Ihnen die beiden Hauptthemen dieses Buchs vorgestellt: E-Commerce und Active Server Pages. Im ersten Abschnitt wurden Sie über das phänomenale Wachstum des E-Commerce informiert. Jede der verschiedenen E-Commerce-Formen wurde kurz erklärt. Im zweiten Abschnitt wurden die Microsoft-Technologien zur Erstellung einer kommerziellen Webseite vorgestellt. Sie haben den Microsoft Personal Web Server und den Internet Information Server ebenso wie Microsoft Access und den Microsoft SQL Server kennen gelernt. Im letzten Abschnitt lag der Schwerpunkt auf den Active Server Pages. Sie haben den Unterschied zwischen ASP-Seiten und normalen HTML-Seiten kennen gelernt. Sie haben gelernt, wie Active Server Pages Scripts, Objekte und Komponenten verwenden und wie Sie die ActiveX Datenobjekte zum Zugang zu einer Datenbank verwenden.

Fragen und Antworten F

Welche Einschränkungen gibt es bei Active Server Pages? Kann ich Active Server Pages zur Erstellung jeder Art von kommerziellen Webseiten verwenden?

A Wie Sie in der heutigen Lektion gelernt haben, sind Active Server Pages schon bei einigen der größten und erfolgreichsten kommerziellen Webseiten im Internet zum Einsatz gekommen. Dell zum Beispiel verkauft derzeit online

25

1

Einführung in den E-Commerce

jeden Tag Waren im Wert von über 18 Millionen Dollar. Die Webseite von Dell ist mit dem Internet Information Server und Active Server Pages erstellt worden. Active Server Pages sind eine außergewöhnlich flexible Technologie. Wenn eine Funktion fehlt, kann ein ASP-Script jederzeit um eine Kundenkomponente erweitert werden. F

Welche Betriebssysteme sind mit Active Server Pages kompatibel?

A Active Server Pages laufen auf Microsoft Windows NT Server 4.0, Microsoft Windows NT Workstation 4.0 mit den Peer Web Services und Windows 95/98 mit Personal Web Server. Bei der Verwendung von Chili!Soft's Chili!ASP (siehe http://www.chilisoft.com), können Sie Active Server Pages auch mit SUN Solaris und IBM AIX verwenden. Chili!ASP ermöglicht es, dass Active Server Pages auf Apache Servern, Netscape Enterprise und FastTrack Servern, Lotus Domino Go Webserver und O'Reilly Website Pro laufen. Microsoft hatte auch eine Version des Personal Web Servers und der Active Server Pages für Macintosh entwickelt und auf den Markt gebracht, aber leider werden diese Versionen nicht mehr unterstützt.

Workshop Die Verständnisfragen dienen dazu, Ihr Wissen bezüglich des in diesem Kapitel behandelten Stoffs zu testen. Die Antworten finden Sie in Anhang A, Antworten zu den Verständnisfragen.

Verständnisfragen 1. Welche drei Arten von E-Commerce gibt es? 2. Kann man den Microsoft Personal Web Server verwenden, um eine kommerzielle Webseite aufzubauen, die an einem Tag hunderte von Besuchern verkraften kann? 3. Kann Microsoft Access für eine Website verwendet werden, die jeden Tag tausende von Besuchern unterstützen kann? 4. Brauchen Sie Visual InterDev, um Active Server Pages erstellen zu können? 5. Wie unterscheidet ein Webserver eine ASP-Seite von einer normalen HTMLSeite?

26

Workshop

1

6. Sind Active Server Pages mit allen Webbrowsern kompatibel? 7. Können Sie Active Server Page-Scripts erstellen, die mit einer anderen Sprache als VBScript arbeiten?

27

2 Interaktion mit dem Kunden Woche 1

2

Interaktion mit dem Kunden

In der heutigen Lektion werden Sie lernen, wie Sie eine E-Commerce-Webseite unter Verwendung von Active Server Pages erstellen. In der heutigen Lektion werden Ihnen die wichtigsten Active Server Pages-Objekte erklärt: das Reponse- und das RequestObjekt. Sie können mit diesen beiden Objekten arbeiten, um mit dem Kunden, der Ihre Webseite besucht, in Interaktion zu treten. Heute werden Sie lernen,

왘 왘

wie man das Reponse-Objekt einsetzt, um Inhalte an den Webbrowser zu schicken,



wie man das Request-Objekt einsetzt, um Informationen zu erhalten, die der Kunde in die HTML-Formulare eingegeben hat,



wie man das Request-Objekt einsetzt, um den Browser-Kopfsatz und die ServerVariablen abzufragen.

wie man das Request-Objekt verwendet, um mit HTML Abfrage-Zeichenfolgen zu arbeiten,

Arbeit mit dem Response-Objekt In der gestrigen Lektion haben Sie eine Einführung in die Active Server Pages erhalten. Sie haben gelernt, dass eine ASP-Seite eine normale HTML-Seite ist, die Scripts enthält. Sie können diese Scripts verwenden, um dynamische Inhalte an den Browser zu schicken. Was ist ein dynamischer Inhalt? Eine normale HTML hat einen statischen Inhalt. Immer wenn eine HTML-Seite aufgerufen wird, ist der auf der Seite angezeigte Inhalt derselbe. Eine HTML-Seite aber kann Inhalte haben, die sich jedes Mal, wenn die Seite aufgerufen wird, ändern. Wenn eine kommerzielle Webseite betrieben wird, gibt es viele Situationen, in denen Sie dem Kunden einen dynamischen Inhalt übermitteln müssen. Wenn Sie es einem Kunden zum Beispiel ermöglichen, Ihren Store nach Kategorien zu durchsuchen, um Produkte zu finden, müssen Sie die Produktliste für die entsprechende Kategorie dynamisch erzeugen können. Nachdem der Kunde eine Bestellung vorgenommen hat, müssen Sie eine Quittung der Information über die Bestellung dynamisch erzeugen. Sie können einen dynamischen Inhalt einer ASP-Seite senden, indem Sie das Response-Objekt, ein eingebautes ASP-Objekt, verwenden. Es beinhaltet alle Informationen, die vom Webserver zum Webbrowser gesandt werden. Zum Beispiel zeigt die ASP-Seite in Listing 2.1 das aktuelle Datum und die aktuelle Zeit an. Immer wenn ein Kunde die ASP-Seite in Listing 2.1 aufruft, wird ein anderes Datum und eine andere Zeit angezeigt.

30

Arbeit mit dem Response-Objekt

2

Listing 2.1: Dynamischen Inhalt anzeigen 1 2 3 4 5 6 7 8

Date and Time



Sie werden feststellen, dass der Hauptteil der in Listing 2.1 aufgeführten ASP-Seite aus einer normalen HTML-Seite besteht. Die vierte bis sechste Zeile enthält ein sehr einfaches ASP-Script. Der Anfang und das Ende des Scripts sind mit den Script-Trennzeichen gekennzeichnet. In der fünften Zeile wird die Write-Methode des Response-Objekts angewendet, um das aktuelle Datum und die Zeit auszugeben, die durch Verwendung der VBScript NOW()Funktion erhalten werden. In der Regel verwenden Sie die Write Methode des Response-Objekts, um den Wert der Funktion, einer Variablen, einer Zeichenfolge oder eines Buchstabens auszugeben. Die ASP-Seite in Listing 2.2 zeigt zum Beispiel den Text "Welcome to our store!" (Herzlich willkommen in unserem Store) mit Hilfe des Response-Objekts an. Listing 2.2: Welcome to Our Store 1 2 3 4 5 6 7 8

Welcome



Ausgabe langer Zeichenfolgen Wenn Sie das Response-Objekt dazu verwenden, sehr lange Zeichenfolgen auszugeben, können Sie die Zeichenfolge unter Verwendung des & -Zeichens in mehrere Zeilen aufteilen. Die ASP-Seite in Listing 2.3 zeigt zum Beispiel den ersten Paragraphen der amerikanischen Unabhängigkeitserklärung an.

31

2

Interaktion mit dem Kunden

Listing 2.3: Ausgabe einer langen Zeichenfolge 1 2 Long String 3 4 16 17

Im in den Zeilen 4-15 enthaltenen ASP-Script wird die Write-Methode angewandt, um eine Zeichenfolge anzuzeigen, die sich über mehre Zeilen erstreckt. Das Zeichen &_ wird verwendet, um anzuzeigen, dass die Zeichenfolge in der nächsten Zeile fortgesetzt wird.

Anzeigen spezieller Zeichen Einige Zeichen werden nicht korrekt angezeigt, wenn sie mit der Write-Methode des Response-Objektes ausgegeben werden. Diese Zeichen beinhalten das Zeichen >; das Zeichen, benutzt, um den Anfang und das Ende eines HTML-Schlüsselworts zu kennzeichnen. Wenn ein Browser zu diesen Zeichen auf der Seite kommt, versucht er sie als Teile des HTML-Schlüsselworts zu interpretieren. Um dieses Problem zu umgehen, müssen Sie diese Zeichen kodieren, bevor Sie sie anzeigen. Glücklicherweise geht dies sehr leicht mit den Active Server Pages. Sie können die HTMLEncode()-Methode des Server-Objektes verwenden, um das Zeichen zu HTML-kodieren, bevor es angezeigt wird.

32

Arbeit mit dem Response-Objekt

2

Die ASP-Seite in Listing 2.4 kodiert zum Beispiel korrekt die Zeichenfolge "We sell the products!" (Wir verkaufen die besten Produkte), bevor diese Zeichenfolge angezeigt wird. Listing 2.4: HTML-Kodierung einer Zeichenfolge 1 2 3 4 5 6 7 8

Long String



Sie werden feststellen, dass Sie die HTML-Kodierung von Zeichenfolgen sehr oft brauchen, wenn Sie mit HTML-Formularen arbeiten. Etwas später in dieser Lektion werden Sie lernen, wie man die HTMLEncode()-Methode innerhalb eines HTML-Formulars verwendet (siehe weiter unten in diesem Kapitel).

Anzeige der Anführungszeichen VBScript verwendet Anführungszeichen, um den Anfang und das Ende einer Zeichenfolge zu kennzeichnen. Wenn die Zeichenfolge selbst Anführungszeichen enthält, treten Probleme auf. VBScript interpretiert die in einer Zeichenfolge enthaltenen Anführungszeichen falsch und sieht sie als das Ende der Zeichenfolge an. Die ASP-Seite in Listing 2.5 generiert zum Beispiel einen Fehler. Listing 2.5: Falsche Verwendung von Anführungszeichen 1 2 3 4 5 6 7 8

Bad Quotes

38 39 40 41 42 43 44

Wenn die Seite das erste Mal ausgeführt wird, ist der Wert der versteckten ProcForm-Variable nicht definiert. Die Seite ignoriert also das Script zwischen den Zeilen 4 und 7. In Zeile 27 wird der aktuelle Wert von iDebugLevel in ein Textfeld platziert. Wenn der Anwender den Submit-Button anklickt, setzt das Script, das sich in den Zeilen 4 und 7 befindet, den Wert der Session-Variable iDebugLevel. Der Wert entspricht hierbei dem Wert, der eingegeben wird. In Zeile 33 wurde der versteckten ProcForm-Variable der Wert Process zugewiesen. Das Formular wurde neu aufgebaut und der Wert von iDebugLevel im Textfeld platziert (Zeile 37).

Die Anwendung von iDebugLevel Bei einer Interaktion zwischen verschiedenen Softwareteilen tauchen beim Programmieren meistens Fehler auf. Wie Sie schon beim Erstellen einer E-Commerce-Site gesehen haben, führt externe Software hauptsächlich mit der Datenbank Dialog, auf die man via SQL und ADO Zugriff haben kann. Mit der iDebugLevel-Variable können Sie Codes hinzufügen, die zusätzliche Fehlersuche-Informationen aufzeigen, wenn Ihre ASP mit der Datenbank Dialog führen. Sie wollen zum Beispiel SQL-Anweisungen anzeigen, bevor diese ausgeführt werden, wenn iDebugLevel gleich eins ist, und anschließend beide SQL-Anweisungen und deren Ergebnisse anzeigen, wenn iDebugLevel gleich zwei ist, usw... In unseren Beispielen entspricht iDebugLevel gleich eins.

403

16

Das Debugging von E-Commerce-Applikationen

Um Ihnen die Vorteile dieser Technik aufzuzeigen, werden wir die updateProducts.aspSeite, die wir in Kapitel 5 erstellt haben, als Beispiel verwenden und werden dieser eine Ausgabe für Session-Level-Debugging-Informationen hinzufügen, damit wir unsere SQL-Abfragen untersuchen können. (Diese Datei ist auf der CD-ROM enthalten, die diesem Buch beiliegt und heißt debugUpdateProducts.asp.) Als Erstes fügen wir in den oberen Teil der Seite eine Subroutine ein. Diese Subroutine fasst die logische Entscheidung, ob zusätzliche Informationen angezeigt werden sollen. Wir fügen den Code in Liste 16.3 zwischen die Zeilen 1 und 2 der Datei updateProducts.asp ein. Somit ist die Routine für das gesamte Script verfügbar. Listing 16.3: updateProducts.asp eine Debug-Routine hinzufügen 1.1 Sub DebugWrite(sDebugText, iDebugLevel) 1.2 If CInt(Session("iDebugLevel")) >= CInt(iDebugLevel) Then 1.3 Response.Write(vbNewLine & "" & vbNewLine & "Debugging ➥output level " & iDebugLevel & vbNewLine) 1.4 Response.Write(sDebugText) 1.5 Response.Write(vbNewLine & "" & vbNewLine) 1.6 End If 1.7 End Sub

Wenn die DebugWrite-Subroutine aufgerufen wird und der aktuelle Wert der Session-Variable iDebugLevel größer oder gleich dem Wert ist, mit dem iDebugLevel in Zeile 1.1 übergeben wurde, wird die als sDebugText übergegebene Information in einem HTML-Kommentar gesendet (Zeilen 1.3 bis 1.5). Da die DebugWrite-Subroutine nun zur Verfügung steht, können wir sie an strategischen Stellen der updateProducts.asp eingeben. Was nun unsere SQL-Anweisungen betrifft, werden wir einen Code eingeben, mit dem die SQL-Anweisungen, wenn iDebugLevel gleich 1 ist, gesendet werden. Dieser Code ist in Listing 16.4 enthalten. Listing 16.4: Hinzufügen strategischer DebugWrite-Aufrufe, um updateProducts.asp zu aktualisieren 6 Set Con = Server.CreateObject( "ADODB.Connection" ) 6.1 DebugWrite "Opening accessDSN", 1 7 Con.Open "accessDSN" 13 RS.CursorType = 3 13.1 selectStr = "SELECT * FROM Products WHERE product_id=" & productID 13.2 DebugWrite selectStr, 1 14 RS.Open selectStr

404

Die Anwendung von iDebugLevel

16

Gehen Sie nun auf admin/adminPage.asp und ändern Sie den Debug-Level auf 1. Gehen Sie dann auf manageProducts.asp und klicken Sie eine der Produktverknüpfungen an, um zur updateProduct.asp-Seite zu gelangen. Die Ausgabe dieser Seite ist zwar im Browser dieselbe, aber wenn Sie ANSICHT | QUELLTEXT wählen, werden Sie beobachten können, dass die ersten vier Zeilen des HTML-Codes

Debugging output level 1 Opening accessDSN

Debugging output level 1 SELECT * FROM Products WHERE product_id=26

Kommentare sind, die von unserer DebugWrite-Routine generiert werden.

Erstellen einer Debug-Bibliothek Dies ist der richtige Zeitpunkt, um eine .asp-Seite zu erstellen, die als Debug-Bibliothek dienen kann – bevor wir noch mehr Debug-Funktionen und -Subroutinen schreiben. (Diese Datei ist auf der CD-ROM enthalten, die diesem Buch beiliegt, und heißt debug.asp.) Wenn man sämtliche Debug-Routinen in einer einzigen Datei unterbringt, sind die Routinen viel einfacher anzuwenden und zu pflegen. Anstatt dieselben Funktionen immer mit KOPIEREN and EINFÜGEN in verschiedene Dateien einzufügen, ist es doch viel einfacher, INCLUDE FILE="/debug.asp" im oberen Teil einer jeden Seite einzugeben. Mit dieser Technik können alle Ihre Seiten Zutritt zu neuen Funktionen haben (oder Fehlerbereinigungen existierender Funktionen), ohne dass man jedes Mal dieselben Änderungen in einer Vielzahl von Seiten vornehmen muss. Die erste Routine, die wir debug.asp hinzufügen, ist die DebugWrite-Routine. Wir werden Sie vom oberen Teil der updateProduct.asp in den oberen Teil der debug.asp einfügen.

Programmablauf nach Fehlern fortsetzen und Fehler erfassen Wenn Ihre ASP-Datei ADO aufruft und einen Fehler in der Datenbank erzeugt, stoppt der VBScript Interpreter die Abarbeitung Ihrer Website und sendet folgenden Text: Microsoft OLE DB Provider for ODBC Drivers error 80004005 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified /updateProduct.asp, line 7

Die Ausführung des Scripts wird gestoppt. Dies kann die Diagnose von Problemen erschweren, da die Fehlermeldungen oft sehr kryptisch sind. Obwohl manchmal mehr Informationen in verschiedenen Fehlerobjekten enthalten sind, kann man diese nicht

405

16

Das Debugging von E-Commerce-Applikationen

untersuchen, da die Scriptausführung augenblicklich gestoppt wird. Einige Fehler kann man zwar beheben, aber auch hier besteht keine Möglichkeit, den Fehler genauer zu untersuchen und zu entscheiden ob man fortfahren oder einen Fehler anzeigen soll, der besser verständlich ist. Wie schon gesagt, die Scriptausführung wird sofort gestoppt. Wenn Sie nun aber die On Error Resume Next-Anweisung in den oberen Teil eines Scripts eingeben, kann der Programmierer beides tun. Enthält ein Script On Error Resume Next, ist es Aufgabe des Programmierers, Laufzeitfehler zu behandeln. Um ihm dies zu erleichtern, werden wir die CheckError-Subroutine unserer Debug-Bibliothek hinzufügen. Diese Subroutine wird nach jeder ADOOperation aufgerufen (siehe Listing 16.5). CheckError sucht nach Fehlern und wenn gefunden, sendet sie genauere Fehlerinformationen. Die ADO-Diagnose in CheckError geht davon aus, dass sämtliche ADO-Verbindungen Con heißen. Falls Sie nun unser Beispiel in eigenen Seiten mit ADO verwenden, beachten Sie, dass auch alle Ihre ADO-Verbindungen Con heißen. Listing 16.5: CheckError

1 Sub CheckError 2 3 If Err.Number > 0 Then 4 Response.Write vbNewLine & "" & vbNewLine & "ASP Error! " & ➥vbNewLine 5 Response.Write " Number: " & err.number & vbNewLine 6 Response.Write " Description: " & err.description & vbNewLine 7 Response.Write " Source: " & err.source & vbNewLine 8 Response.Write " " & vbNewLine 9 End If 10 11 If Not IsEmpty(Con) Then 12 If Con.Errors.Count > 0 Then 13 ' 14 ' Zunächst die aufgetretenen Fehler zählen 15 ' 16 Dim i, j 17 j = 0 18 For i = 1 to Con.Errors.Count 19 if Con.Errors(i-1).number 0 Then 20 j = j + 1 21 End if 22 Next

406

Die Anwendung von iDebugLevel

16

23 ' 24 ' Anschließend diese, wenn nötig, ausgeben 25 ' 26 If j > 0 Then 27 j = 1 28 Response.Write (vbNewLine & "" & vbNewLine & "ADO Errors! " & ➥vbNewLine) 29 For i = 1 to Con.Errors.Count 30 If Con.Errors(i-1).number 0 Then 31 Response.Write " ADO Error " & j & vbNewLine 32 Response.Write " Number: " & Con.Errors(i-1).number & vbNewLine 33 Response.Write " Description: " & Con.Errors(i-1).description & ➥vbNewLine 34 Response.Write " Source: " & Con.Errors(i-1).source & vbNewLine 35 If Con.Errors(i-1).nativeerror "" Then 36 Response.Write " Native Error: " & Con.Errors(i-1).nativeerror ➥& vbNewLine 37 End If 38 If Con.Errors(i-1).sqlstate "" Then 39 Response.Write " SQL State: " & Con.Errors(i-1).sqlstate & ➥vbNewLine 40 End If 41 End If 42 Next 43 Response.Write (" " & vbNewLine) 44 End If 45 End If 46 End If 47 48 End Sub

Der zweite Teil der CheckError-Subroutine (Zeilen 11 bis 47) überprüft das ADO-Verbindungs-Objekt auf Fehler. Da ein einziger ADO-Aufruf mehr als einen Fehler verursachen kann und weil einige Fehler nur der Information dienen, ist dieser Code komplizierter als der, der das Err-Intrinsic-Objekt überprüft. Zeile 12 überprüft, ob irgendwelche Fehler oder Informationsmeldungen vorliegen. Zeilen 18 bis 22 durchlaufen einen jeden ADO-Fehler und Zeile 19 überprüft, ob der Fehler aktuell ist (Informationsmeldungen erkennt man durch Error.Number = 0). Ist dies der Fall, werden die Fehler in j gezählt. Zeile 26 überprüft, ob aktuelle Fehler vorlagen. War dies der Fall, werden die Fehler mit den Zeilen 29 bis 42 noch einmal durchlaufen. Im HTMLKommentar werden dann detaillierte Informationen über einen jeden Fehler, falls vorhanden, angegeben. Damit Sie CheckError auch in Aktion erleben können, werden wir einen häufig vorkommenden Fehler in manageProducts.asp einbauen. Die Änderungen, die in

407

16

Das Debugging von E-Commerce-Applikationen

manageProducts.asp vorgenommen werden, können Sie in Lising 16.6 nachvollziehen. Wir werden debug.asp einbinden und die Fehler, die aufgrund der Produktnamen mit einfachem Gänsefüsschen auftreten, werden uns nicht mehr entkommen können.

Listing 16.6: Änderungen in manageProducts.asp 1 2 3 4 5 6 7 8

2 3 4 Johnson Candies and Gifts – Add Product 5 6 7

Johnson's Candies and Gifts

 



124 125 126 127 128 129

446

Fortgeschrittene Wartung des webbasierten Produktkatalogs

17

130 131 132 133
was updated in the database

Manage ➥Products

Administration Page

134 135

138 139 140

Zeilen 18 bis 30 greifen die Produktdaten auf, die der Anwender in sein Formular eingegeben hat. Mit Ausnahme von productPicture (Zeile 25) werden diese Daten direkt dem -Feld entnommen. Wie für products.Picture auch, gibt der Posting Acceptor, wenn dieser das Script aufruft, den hochgeladenen Dateinamen und die Endung in zwei Felder namens fileName und fileExtension ein. Rufen addProduct.asp oder updateProduct.asp das Script direkt auf, stehen keine hochgeladenen Dateien zur Verfügung und es wird nichts in den Feldern stehen. Zeilen 33 bis 56 überprüfen, ob die Felder nicht ausgefüllt wurden, und, ist dies der Fall, weisen diesen Default-Werte zu. Zeilen 59 bis 60 öffnen eine Datenbankverbindung, die entweder für das Einfügen oder Aktualisieren verwendet wird, je nachdem, ob donePost.asp aufgerufen wurde, um ein Produkt hinzuzufügen oder zu aktualisieren. Wurde donePost.asp aufgerufen, um eine Operation in addProdukt.asp auszuführen, fügen die Zeilen 75 bis 89 das neue Produkt in die Datenbank ein und die Zeilen 92 bis 104 zeigen eine Bestätigungsmeldung an. Wird donePost.asp wegen einer Operation in updateProduct.asp aufgerufen, aktualisieren die Zeilen 109 bis 121 den entsprechenden Eintrag in der Datenbank und die Zeilen 124 bis 137 zeigen eine Bestätigungsmeldung an.

Einfügen der Seiten in das Verwaltungs-Web Jetzt, da die Scripts geschrieben sind, können wir addProduct.asp und manageProducts.asp in die Homepage unseres Verwaltungs-Webs, adminPage.asp, einfügen. Diese Änderungen umfassen ein einfaches Hinzufügen von Verknüpfungen zu den zwei Seiten (siehe Listing 17.6) und schon haben Sie eine zwar rudimentäre, aber sehr funktionelle Verwaltungs-Site. adminPage.asp können Sie in Abbildung 17.18 sehen.

447

17

Remote-Verwaltung Ihres Shops mit ASP

Listing 17.6: Aktualisierte adminPage.asp

1 2 10 11 12 13 Johnson's Candies and Gifts Administration Page 14 15 16 17 18 19 20 21
22 23 Administration Page 24 Maintain Catalog 25

Add product

26

Manage Products

27 28 Set Debug Level 29 30 31 32 34 35
Debug Level: 33
36

37

448

Zusammenfassung

17

Die Verknüpfung zu addProduct.asp und manageProducts.asp ist in den Zeilen 25 und 26 jeweils definiert.

Abbildung 17.18: Die neue adminPage.asp

Zusammenfassung Heute haben Sie gelernt, wie Sie Ihren Webserver von der Ferne aus verwalten. Im ersten Abschnitt haben Sie gesehen, wie Sie Ihren Webserver mit einem Standard Webbrowser konfigurieren und dabei das HTML-Interface für den Internet Service Manager verwenden. Sie haben einige Methoden gesehen, wie man die HTMLVersion des Internet Service Managers verwendet, um Standard Verwaltungsfunktionen, wie etwa Sicherheitseinstellungen für ein Verzeichnis zu ändern. Im nächsten Abschnitt haben Sie den FTP-Service kennen gelernt. Ihnen wurde beigebracht, wie man den FTP-Service anwendet, um Dateien von der Ferne aus hoch- und herunterzuladen. Außerdem haben Sie Basis-FTP-Befehle, wie etwa put kennen gelernt, mit dem Sie Dateien hochladen können, sowie get, mit dem Sie Dateien herunterladen können.

449

17

Remote-Verwaltung Ihres Shops mit ASP

Schließlich haben Sie gelernt, wie man Dateien auf Ihre Website mit dem Microsoft Posting Acceptor hochlädt. Sie haben zunächst einmal gesehen, wie man den Posting Acceptor so konfiguriert, dass er auf Ihrem Webserver auch funktioniert. Danach haben Sie die Verwaltungsseiten des Shops, die in den vorherigen Kapiteln besprochen wurden, verändert, um Produktbilder, die in Ihrem Shop enthalten sind, hochzuladen.

Fragen und Antworten F

upload.asp enthält ein Client-seitiges Script. Was ist der Unterschied zwi-

schen Client-seitigen und Server-seitigen Scripts? A Die meisten Scripts in diesem Buch sind Server-seitige Scripts, die, wie der Name schon sagt, Scripts sind, die auf dem Server ausgeführt werden. Jedes Script in einer ASP-Datei, das zwischen den Script-Begrenzern erscheint, wird auf dem Server ausgeführt. Scripts, die zwischen den 50 Step 1: 51 Check the boxes next to the customers to whom you wish to send E-Mail and ➥press the Next button. 52 53 54 55 56 57 58 59 60 61 62

477

18

E-Mail und Active Server Pages

67 68 69 70 71 72 75
Customer E-Mail ➥Address
76 77 78 79 80 81 82
Select all customers
83

84 85 86 87 93 55 56 57 62 63 64 65 67 68 69
66 Select all files
70 71 72 73 74 75

Zeile 2 des Scripts enthält einen Verweis auf eine Datei mit einigen VBScript-Konstanten, die mit der GetSpecialFolder-Funktion etwas weiter unten verwendet werden. Die Zeilen 8-10 erstellen die folder-Variable für das Protokollverzeichnis für den Shop. Sie sollten die Zeilen 8-10 verändern, sodass sie das entsprechende Verzeichnis lokalisieren können. Die Zeilen 38-71 definieren ein Formular namens loglist, das zur Auswahl der zu übertragenden Protokolldateien dient. Innerhalb dieses Formulars defi-

507

19

Erstellen von Berichten

nieren die Zeilen 39-62 eine Tabelle, in der jeder Benutzer vermerkt wird. Die Zeilen 41-45 definieren die Kopfzeile dieser Tabelle. Die Zeilen 48-60 durchlaufen jede Datei innerhalb des Protokoll-Verzeichnisses, das von der folder-Variablen bestimmt wurde, und erstellen jeweils eine Tabellenzeile. Die Zeilen 53-55 definieren eine Tabellenzelle, die ein Kontrollkästchen mit dem Namen logFileName und den Wert des kompletten Pfadnamens der Protokolldatei enthält. Zeile 55 definiert eine Zelle, die den Kurznamen der Datei enthält. Die Zeilen 66-72 definieren ein zusätzliches Kontrollkästchen mit dem Namen allbox, die dem Benutzer das gleichzeitige Auswählen oder Abwählen aller Kunden ermöglicht. Das onClick-Attribut des Kontrollkästchens, das in Zeile 66 definiert wurde, löst einen Aufruf der Client-seitigen Subroutine CheckAll aus, sobald das Kontrollkästchen angeklickt wird. Wie bei selectcust.asp (siehe Listing 18.8), definieren die Zeilen 22-34 die checkAll-Subroutine. Diese wird aufgerufen, wenn der Status des allboxKontrollkästchens verändert wird. Die Zeilen 22-34 sind die ") 80 file.WriteLine("



This Demonstration

Web Rings

21

➥WebRing site owned by 10 Jonathan Levine. 11
12 [ 13 Previous 5 Sites | 14 15 Previous | 16 Next | 17 18 Next 5 Sites | 19 Random Site | 20 List Sites ] 21

Alle Web Rings werden von Servern bei webring.org verwaltet. Die Zeilen 8-20 erstellen die in Abbildung 21.3 aufgeführten Links. Die Zeilen 12-17 ermöglichen dem Benutzer, durch den Web Ring zu navigieren, indem er die aktuelle Site-ID durchläuft und eine Operation (prev, next, prev5 oder next5) zu den webring.org-Servern durchführt. Die Zeilen 19-20 befähigen den Anwender, alle Sites zu sehen oder durch eine Zufallssite zu navigieren; keine der Operationen erfordert eine Site-ID.

Abbildung 21.3: Die Navigationszeile des Web Ring-Beispiels

561

21

Werben für Ihre Site und Verwaltung von Werbebannern

Werbebanner Ein anderer Weg, den Datenverkehr zu Ihrem Internetshop zu erhöhen, ist Werbung. Wenn Sie schon einmal im Internet waren, dann kennen Sie bereits die häufigste Art der Werbung im Internet – Werbebanner (siehe Abbildung 21.4). Werbebanner kann man kaufen, aber auch über gemeinsame Werbeprogramme, bekannt als Link Exchanges, erwerben.

Abbildung 21.4: Beispiel eines Werbebanners

Link Exchanges Wie es auch bei der realen Werbung üblich ist, kann man für Internetwerbung einfach zahlen, dennoch macht das Internet kooperatives Werben für jedermann erschwinglich. Kooperatives Werben bedeutet, dass Werbeplatz und Werbekosten geteilt werden. In der Hardware-Industrie ist Intel ein allgegenwärtiges Beispiel für einen Benutzer der kooperativen Werbung. Als Gegenleistung für das Platzieren des Intel-Logos »Intel inside« auf Computern und in Werbespots bezahlt Intel den PC-Herstellern anteilig die Kosten für deren Werbung. Standards für Größe und Format der Internetwerbung werden vom Internet Advertising Bureau (http://www.iab.net/) erstellt. Die meisten, die mit Bannern werben, begrenzen die Größe auf 10 K oder weniger, um die Auswirkungen des Banner-Downloads für den Benutzer zu reduzieren. Beim Werben mit Bannern findet das kooperative Werben mithilfe des Austauschs von Links statt (link exchanges). Link exchanges sind für die Betreiber von Websites ein einfaches Mittel, um Werbungen untereinander zu handeln. Ein Netzverwalter schließt mit einer Linkzentrale einen Vertrag, lädt ein Banner und fügt seiner Site einen speziellen HTML-Code hinzu. Der HTML-Code, den die Zentrale automatisch liefert, lädt ein Banner von der Zentrale herunter und speichert eine Impression im

562

Werbebanner

21

Namen der Site. Für jede Banner-Impression auf der Site eines Mitglieds schreibt die Zentrale gut. Die Zentrale zeigt dann das Werbebanner dieser Site auf der Site eines anderen Mitglieds einmal für jede Gutschrift an. Eine Impression ist eine Standardbezeichnung der Industrie für die Häufigkeit der Anzeige eines Werbebanners. Wenn Sie zum Beispiel ein Werbebanner fünfmal anzeigen, dann sind dies fünf Impressionen (selbst wenn dieselbe Person das Banner fünfmal sieht). Impressionen stehen im Kontrast zu dem, was als Transfers oder ClickThroughs bezeichnet wird. Impressionen zählen, wie oft eine Werbung angezeigt wurde; Transfers und Click-Throughs zählen, wie oft ein Banner angeklickt wurde. Die Zentralen fordern üblicherweise, dass eine Website mehr als eine Werbung anzeigen muss, um ein Anzeige-Guthaben zu bekommen. Die Zentrale finanziert sich über den Verkauf dieser zusätzlichen Werbeflächen. Das Verhältnis zwischen geforderten Impressionen und bewilligten Impressionen ist die Exchange-Rate. Wie immer im Internet gibt es viele, viele Link-Exchanges, von denen jede eine Vielzahl von Exchange-Rates anbietet. Einige bekannte Exchanges und ihre Rates sind in Tabelle 21.2 aufgeführt. Vereinigung

Exchange Rate

URL

123Banners

1 zu 2

http://www.123banners.com/

1for1.com

ca. 1,7 zu 11

http://www.1for1.com/

AdSwap

2 zu 12

http://www.adswap.com/

Ad-Xchange

2 zu 14

http://www.ad-xchange.com/

Abe 1 to 1

1 zu 15

http://www.com.au/121/index html

BannerSwap

2 zu 12

http://www.bannerswap.com/

BannerWomen

2 zu 1

http://www.bannerwomen.com/

CyberLink Exchange

2 zu 1

Disney Banner Network

1 zu 17

http://www.disneybanner.net/

Exchange-it

2 zu 1

http://www.exchange-it.com/

Free Banners

2 zu 1

http://www.free-banners.com/

EIS Banner Exchange

variiert bis zu 5 zu 4

http://www.lycos.com/addasite html

Hyper Banner

2 zu 1

http://www.hyperbanner.com/

3,5,6

cyberlinkexchange.usww.com

Tabelle 21.2: Einige bekannte Banner-Exchange-Vereinigungen

563

21

Werben für Ihre Site und Verwaltung von Werbebannern

Vereinigung

Exchange Rate

URL

LinkBuddies

variiert, hängt von Click-Through Rate ab

www.linkbuddies.com

LinkExchange

2 zu 1

http://www.linkexchange.com/

MS-Links Exchange

4 zu 3

msbannerexchange.com

SmartAge

2 zu 1

http://www.smartage.com/

TradeBanners

2 zu 18

resource-marketing.com/banner.shtml

Web Resources

3 zu 2

exchange.Web-resources.com

Webmaster Exchange

1 zu 1

http://www.webmasterexchange/.com

Tabelle 21.2: Einige bekannte Banner-Exchange-Vereinigungen (Forts.)

1. Gewährt 2-zu-1-Rates außer an 5 Tagen pro Monat, dann 1-zu-1-Rate. Bietet auch 0,10 $ Werbeguthaben für jedes Click-Through 2. Gibt für jeden angeklickten Banner ein 1-zu-1-Guthaben 3. Gewährt 500 Gratis-Impressions bei Vertragsabschluss 4. Gewährt 1000 Gratis-Impressions bei Vertragsabschluss 5. Verwendet Banner, die nicht der Standardgröße entsprechen 6. Bietet auch »Premiums-Mitgliedschaft« mit höherer Rate und Click-ThroughBonus an 7. Nur Disney-bezogene Sites 8. Gebührenpflichtige Mitgliedschaft erhöht Rate auf 4 zu 3 9. Nur Webmaster-orientierte Sites

Für Werbebanner zahlen Ein Nachteil der Verwendung eines LinkExchanges ist, dass Sie Werbebanner anzeigen müssen, um ein Werbebanner zu bekommen. Das macht aus Link exchanges eine schlechte Wahl, wenn Sie wirklich Startseitenbetrachtungen für eine neue E-Commerce-Site verknüpfen wollen. Natürlich ist es sehr einfach, Werbebanner zu kaufen. Alle Banneragenturen bieten Werbebanner zu günstigen Preisen an. Es gibt ebenfalls viele Internetwerbeagenturen, von denen einige in Tabelle 21.3 aufgeführt sind.

564

An Treueprogrammen teilnehmen

Agentur

URL

AdAuction.com

www.adauction.com

AdBase.net

www.adbase.net

AdForce

www.adforce.com

DoubleClick

www.doubleclick.net

Flycast

www.flycast.com

Microsoft bCentral

store.linkexchange.com

Pegasus Ad Network

www.pegasusads.com

ValueClick

www.valueclick.com

21

Tabelle 21.3: Werbeagenturen für das Internet

Jede Internetwerbeagentur verarbeitet Werbeplatzierungen auf ihrer eigenen Exklusivsite und jede Agentur bietet mehr oder weniger anspruchvolles ad targeting an. Sie offerieren auch eine große Bandbreite an Preismodellen und Kosten pro Werbeeinheit. Die beliebtesten Preismodelle sind Kosten pro Click-Through und Kosten pro tausend Impressionen (CPM), wie in Kapitel 19 beschrieben. Ad Targeting bedeutet, dass die Werbung nur einem bestimmten Publikum gezeigt wird. Internet-Werbeagenturen erreichen dies, indem sie Cookies auf den Browser eines Anwenders laden und dann die Surfmuster, Clickthrough-Muster und jede andere Information, die sie sammeln können, nachvollziehen.

An Treueprogrammen teilnehmen 1999 war das Jahr des Internet-Treueprogramms. Bei einem Treueprogramm werden die Kunden für den Besuch Ihrer Site belohnt. An einem solchen Programm teilzunehmen ist leicht und relativ billig. Es gibt zwei große Arten von Programmen: die Kunden bekommen Geld oder sammeln Punkte (Punkte werden normalerweise in Geschenkgutscheine, CDs und Kinokarten umgetauscht). Unternehmen

Belohnung

URL

Beenz

Points

www.beenz.com

CyberGold

Cash

www.cybergold.com

Dash

Cash

www.dash.com

FreeRide

Points

www.freeride.com

Tabelle 21.4: Internet-Treueprogramme

565

21

Werben für Ihre Site und Verwaltung von Werbebannern

Unternehmen

Belohnung

URL

IPoints

Points

www.ipoints.co.uk

MyPoints

Points

www.mypointsinc.com

NetCentives

Points and Miles

www.netcentives.com

Tabelle 21.4: Internet-Treueprogramme

Andere Wege, um den Umsatz zu erhöhen Sie werden sich natürlich anstrengen, den größten Umsatz durch den Verkauf der auf Ihrer Website angebotenen Waren und Dienstleistungen zu erzielen. Wenn Ihre Site an Popularität gewinnt, werden Sie vielleicht dennoch das Kooperationsprogramm eines anderen Einzelhändlers nutzen wollen, einen Teil Ihrer Internetseite für Werbezwecke verkaufen wollen, die E-Mail-Listen Ihrer Kunden verkaufen wollen oder ein anderes Unternehmen auf der Grundlage Ihrer Site gründen wollen.

Kooperationsprogramme Sich einem Kooperationsprogramm anzuschließen ist vielleicht der einfachste Weg, den Umsatz Ihrer Site zu steigern. Fast jeder Händler bietet eine Provision für eine Überweisung, die mit einem Kauf endet; andere Unternehmen bieten Provisionen für Klicks, Registrierungen und mehr. Da diese Programme sehr dynamisch sind, ist es am besten, sie zu erforschen, wenn Sie bereit sind, den Vertrag zu unterschreiben, und sie zu überwachen. http://www.affiliatesdirectory.com/ ist eine gute Adresse, um über diese Programme etwas zu erfahren.

Betreiben Sie Ihre Werbung selbst Es gibt mehrere Arten, wie Sie Werbung auf Ihrer eigenen Website betreiben können. Jede der in Tabelle 21.3 aufgeführten Werbeagenturen wird Ihnen gerne helfen, vorausgesetzt, dass Ihre Site genügend Datenverkehr erzeugt. Andererseits können Sie auch die Ad Rotator-Komponente, die in IIS integriert ist, verwenden, um Ihre Werbung zu entwerfen und Ihren Besuchern zu zeigen. Obwohl die Implementierung und die Verwendung der Ad Rotator-Komponente sehr einfach ist, ist die Verwaltung des Datenverkehrs durch die Werbung sehr schwer. Das ist eine mögliche Erklärung dafür, warum so viele erfolgreiche Aktiengesellschaften die Verwaltung ihrer Werbung ausgegliedert haben.

566

Andere Wege, um den Umsatz zu erhöhen

21

Die Verwendung des Ad Rotators ist einfach: Erstellen Sie zuerst eine Umleitungsdatei, mit deren Hilfe Sie die Click-Throughs zählen können. Erstellen Sie dann eine Übersichtsdatei, mittels derer Sie die anzuzeigende Werbung, die Links zur Werbung und den relativen Stellenwert der Banner definieren können. Schließlich erstellen Sie auf jeder Seite, auf der eine Werbung angezeigt werden soll, ein Objekt des Ad Rotators und nennen es AdRotator.GetAdvertisement.

Die Umleitungsdatei Wenn jemand auf eine Werbung klickt, die durch die Ad Rotator-Komponente angezeigt wird, dann wird dieser Befehl an die Umleitungsdatei gesendet. Sie können der Datei jeden beliebigen Inhalt geben. Natürlich sollte sie auch ein Script enthalten, das aufzeichnet, wie oft eine Werbung angeklickt wurde. Sie können diese Information in der Datenbanktabelle speichern. Als Nächstes muss die Datei den Benutzer zu der mit dem Werbebanner verbundenen Site umleiten. Wenn Sie auf eine Werbung klicken, die von der Ad Rotator-Komponente angezeigt wird, dann wird der Pfad zu der mit der Werbung in Verbindung stehenden Site als URL-Parameter an die Umleitungsdatei geleitet. Dieser URLParameter ist die URL der Site. Listing 21.6 zeigt Ihnen, wie Sie eine einfache Umleitungsdatei mit dem Namen adredir.asp erstellen können, die den Benutzer mithilfe der URL übermittelt. Listing 21.5: adredir.asp – Die einfachste Umleitungsdatei 1 2



Die Übersichtsdatei Eine Übersichtsdatei (Siehe Listing 21.7) enthält Informationen, die die Ad RotatorKomponente benötigt, um die Werbebanner zu verwalten und anzuzeigen. Sie ist in zwei Abschnitte unterteilt: Die eine wendet alle Werbungen in der Übersicht an, die andere definiert jede Werbung einzeln. Der allgemeine Abschnitt ermöglicht Ihnen, die URLs für die Umleitungsdatei zu spezifizieren sowie die Breite, Höhe und Randbreite jeder Werbung. Der spezielle Abschnitt beschreibt die zu verwendenden Bilddateien, die zu verknüpfenden Dateien und die relative Zeit, die bei jeder Werbung angezeigt wird.

567

21

Werben für Ihre Site und Verwaltung von Werbebannern

Listing 21.6: Beispiel einer Übersichtsdatei 1 2 3 4 5 6 7 8 9 10 11 12 13

REDIRECT /adredir.asp WIDTH 468 HEIGHT 60 BORDER 0 * http://www.levlin.com/images/yawn.gif http://www.levlin.com/ Check out the most boring site on the Internet! 80 http://www.mcp.com/images/informit_ad/enman_blk.gif InformIT from Macmillian 20

Die Zeilen 1-4 definieren die allgemeinen Parameter für jede Werbung: die Umleitungsseite (Zeile 1), die Höhe und Breite jeder Werbung (Zeilen 2 und 3) und die Breite des Rands (Zeile 4). Die Werte in den Zeilen 2-4 sind in Pixel angegeben. Der einzelne Stern in Zeile 5 trennt den allgemeinen Teil vom werbungsbezogenen Teil. Zeilen 6-9 und 10-13 definieren beide einzelne Werbungen. Die Zeilen 6 und 10 sind die URLs der Werbebanner. Zeile 7 ist das URL zu einer Seite, zu der das Banner in Zeile 6 ein Link besitzt. Wenn das Banner kein Link besitzt, so wird dies durch einen Bindestrich wie in Zeile 11 dargestellt. Die Zeilen 8 und 12 zeigen Text für Browser an, die keine Grafiken darstellen. Die Zeilen 9 und 13 geben schließlich das relative Gewicht jedes Werbebanners an. Relatives Gewicht bedeutet, dass der Ad Rotator die Summe aller relativen Gewichte bildet und dann jedes Banner im Verhältnis zu seinem Gewicht anzeigt. Wenn z.B. die Rotator-Übersichtsdatei zwei Werbungen enthält mit dem relativen Gewicht 80 und 20, dann wird erstere 80% der Zeit angezeigt und die zweite 20%. Wenn die Summe aller Impression-Parameter größer als 10.000 ist, wird ein Fehler auftreten, sobald die Rotator-Übersichtsdatei durch die GetAdvertisement-Methode aufgerufen wird.

568

Zusammenfassung

21

Der Ad Rotator Der letzte Schritt der Implementierung des Ad Rotators: Fügen Sie den Code aus Listing 21.8 dem Rumpf jeder Internetseite an, auf der Sie Werbung zeigen wollen. Das Resultat sieht folgendermaßen aus: .

Listing 21.7: Code für die Implementierung von Ad Rotator auf einer Internetseite 1 2 3 4 5

Zeile 3 erzeugt ein Objekt des Ad Rotators, und Zeile 4 verwendet die Übersichtsdatei aus Listing 21.7, um das Werbebanner anzuzeigen. Zeile 5 zerstört schließlich das Ad Rotator-Objekt wieder.

Zusammenfassung Im heutigen Kapitel haben Sie die Grundlagen des Internet-Marketings gelernt – wie Sie auf Ihre Site aufmerksam machen können und wie Sie Menschen dazu bringen können, Sie für das Zeigen von Werbung zu bezahlen. Ihnen wurde gezeigt, wie Sie Ihre Site für Internetsuchmaschinen attraktiv machen können und wie Sie einem Web Ring beitreten können. Sie haben erfahren, wie Sie Ihre Site mit gratis und bezahlter Werbung promoten können. Am Ende haben Sie gelernt, wie Sie Werbebanner selbst verwalten können, den Umsatz durch Zusammenschlussprogramme steigern können und wie Sie Ihre Kunden durch Treueprogramme an sich binden.

569

21

Werben für Ihre Site und Verwaltung von Werbebannern

Fragen und Antworten F

Wie indiziert eine Suchmaschine Sites?

A Fast jede Suchmaschine hütet ihren Indizier-Algorithmus so sorgfältig, wie Coca-Cola ihr geheimes Rezept. Google ist eine Ausnahme, dessen Gründer bei der WWW7-Konferenz einen Überblick über ihre Algorithmen gaben. Dieser Überblick kann unter http://www7.scu.edu.au/programme/fullpapers!1921/ com1921.htm abgerufen werden.

Workshop Die Verständnisfragen und die Übungsfragen sollen Ihre Kenntnisse über die Inhalte dieses Kapitel überprüfen. Die Antworten finden Sie in Anhang A »Antworten zu den Verständnisfragen«.

Verständnisfragen 1. Was ist ein Spider? 2. Was ist relevance metric? 3. Was ist ein Web Ring? 4. Was versteht man unter Link-Exchange?

Übung 1. Das CreateStaticPage-Script wird nur aufgerufen, wenn ein Produkt hinzugefügt oder aktualisiert wird. Schreiben Sie ein Script, das das static-Verzeichnis neu aufbaut, indem es die Datenbank durchgeht und dafür CreateStaticPage aufruft. 2. Schreiben Sie eine auf dem Internet basierende Oberfläche, die es Ihnen ermöglicht, die Ad Rotation-Übersichtsdatei schedule.txt zu pflegen.

570

Rückblick

3 Woche

Rückblick auf die 3. Woche

In der letzten Woche haben Sie gelernt, wie Sie Ihre Website attraktiv gestalten und vermarkten können. In der ersten Lektion wurde Ihnen gezeigt, wie Sie Ihre Website schützen. Anhand des in Microsoft Visual InterDev integrierten Debuggers und einer Reihe von Teilprogrammen des Debuggers, die Standard in Active Server Pages sind, haben Sie am nächsten Tag verschiedene Methoden zu Fehlerbeseitigung in Ihrer Website kennen gelernt. Anschließend wurde Ihnen gezeigt, wie Sie Ihre Website mit E-Mail-Marketing promoten können. Sie wissen jetzt, wie CDO für NTS zur Sendung personalisierter E-Mails an potenzielle Kunden verwendet wird. Etwas später haben Sie verschiedene Methoden zur Überwachung und Benutzung Ihrer Website mit Fernzugriff kennen gelernt. Sie wissen nun auch, wie Ihr Webserver per Fernzugriff von einem Webbrowser verwaltet werden kann und wie der FTP Service benutzt werden muss, wenn Sie Ihre Website-ateien per Fernzugriff managen möchten. Als Nächstes haben Sie einen Überblick über die verschiedenen Protokolldateienformate, die von Ihrem Webserver unterstützt werden, erhalten. Sie haben gelernt, wie Informationen aus Ihren Protokolldateien gelesen und analysiert werden können, um die Besucher- und Verkaufszahlen Ihrer Site auflisten zu können. Schließlich haben Sie gelernt, wie Werbebanner auf Ihrer Website angezeigt werden können. Ihnen wurde gezeigt, wie Sie Werbebanner auf Ihrer Site verwalten und aufzeichnen lassen können, wie oft jeder Werbebanner angezeigt wird.

Bonusprojekt: Feedback-Bestätigung für den Kunden Im Bonusprojekt dieser Woche werden Sie das vom Kunden an Sie gesendete Formular, das Sie in den letzten beiden Bonusprojekten zusätzlich zu E-Mails erstellt haben, verändern. In der Lektion an Tag 18 haben Sie gelernt, wie CDO für NTS zum Senden von E-Mails von Active Server Pages aus verwendet wird. Diese Kenntnisse werden Sie nun in diesem Bonusprojekt anwenden, indem Sie CDO für NTS in Kundenrückmeldungsseiten integrieren. Wenn Kunden Feedback übertragen, erhalten sie automatisch eine E-Mail, die den Erhalt des Feedback bestätigt. Diese Bestätigungs-E-Mail soll dem Kunden einfach nur zeigen, dass seine Nachricht nicht verloren gegangen ist. Sie können dieser Nachricht auch Informationen hinzufügen: zum Beispiel über oft gestellte Fragen und auch Informationen über zusätzliche Unterstützungsoptionen.

572

Bonusprojekt: Feedback-Bestätigung für den Kunden

Sie erinnern sich sicherlich an das Bonusprojekt von letzter Woche, in dem es hieß, dass Kundenfeedback-Seiten mit folgenden Datenbanktabellen (namens feedback) in Verbindung stehen:



feedback_id – ein Auto-Nummernfeld, das auschließlich jede Tabellenzeile identifi-

ziert

왘 왘 왘

feedback_email – ein Textfeld, das die Kunden-E-Mail-Adresse enthält feedback_comment – ein Memo-Feld, das den Text der Kundenrückmeldung enthält feedback_entrydate – ein Datum oder ein Zeit-Feld, das automatisch das Datum der Rückmeldungseingabe enthält. Das Feld sollte den Standardwert NOW() haben.

Ein Kunde sendet seine Rückmeldung über eine ASP-Seite namens feedback.ASP. Diese Seite enthält ein einfaches HTML-Formular, das keine ASP-Scripts enthält. Das Kundenrücksendungsformular ist in Listing BP3 enthalten (es handelt sich um dieselbe Seite, die auch in den Bonusprojekten der beiden letzten Wochen erwähnt wurde). Listing BP3.1: Das Kundenrückmeldungsformular 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Customer Feedback

Thank you for leaving customer feedback on our Website.
Please enter your feedback in the form below:

Your Email Address:

Your Feedback:





Wenn ein Kunde das Kundenrückmeldungsformular sendet, werden die Daten auf die savefeedback.asp-Seite übertragen. Die savefeedback.asp-Seite wurde in diesem Bonusprojekt modifiziert, sodass E-Mails verschickt werden können. Die neue Version der savefeedback-Seite ist in Listing BP3.2 enthalten. Listing BP3.2: Das gespeicherte Rückmeldungsformular, das mit E-Mail

573

Rückblick auf die 3. Woche

gesendet wurde 1 2 8

9 Problem 10

11 12 An error was encountered while submitting your feedback. 13
Please call our customer support number at: 14

15 (555) 555-8989 16

17 18

19

20

Save Feedback

Thank you for submitting your feedback!

CDO für NTS werden auf dieser Seite in den Zeilen 35-42 verwendet. In Zeile 35 wird ein Teil des NewMail-Objekts erstellt. In Zeile 36 wird die From-Eigenschaft der Sender-E-Mail-Adresse zugewiesen (es sollte sich um die E-Mail-Adresse Ihres Shops handeln). In Zeile 37 wird die TO-Eigenschaft der Kunden-E-Mail-Adresse zugordnet. In den Zeilen 38-41 sind die SUBJECT- und BODY-Eigenschaften bestimmte Werte. In Zeile 42 wird die E-Mail schließlich gesendet. Sie können die vom Kundenrückmeldungsformular gesendete E-Mail so verändern, wie Sie möchten. Um den Body der E-Mail-Nachricht zu verändern, ändern Sie einfach den Text in den Zeilen 39-41.

575

Bonus

Quiz Antworten

Quiz Antworten Antworten Tag 1 Quiz F

Welche drei Arten von E-Commerce gibt es?

A Business-to-Consumer, Business-to-Business, und Consumer-to-Consumer. F

Kann man den Microsoft Personal Web Server verwenden, um eine kommerzielle Website zu erstellen, die an einem Tag Tausende von Besuchern pro Tag unterstützten kann?

A Nein. Der Microsoft Personal Web Server kann nur verwendet werden, um einen Website Prototypen zu erstellen oder um eine Website zu betreiben, die nur selten besucht wird. F

Kann Microsoft Access für eine kommerzielle Website verwendet werden, die täglich Tausende von Besuchern unterstützen kann?

A Nein. Microsoft Access ist eine Desktop Datenbank und keine Client/Server Datenbank. F

Brauchen Sie Visual InterDev, um eine Active Server Page erstellen zu können?

A Nein. Microsoft Visual InterDev ist eine Entwicklungsumgebung, um Active Server Pages zu erstellen. Sie können eine ASP-Seite mit Hilfe jedes Standard Text Editors erstellen. F

Wie unterscheidet ein Web Server eine ASP-Seite von einer normalen HTML-Seite?

A Active Server Pages enden mit der Endung .ASP, wohingegen normale HTML Dateien mit der Endung .HTML oder .HTM enden. F

Sind Active Server Pages mit allen Web Browsern kompatibel?

A Ja. Eine ASP-Seite wird vom Web Server aufgebaut und nicht vom Web Browser.

578

Antworten Tag 2

F

Können Sie Active Server Page Skripte erstellen, die mit einer anderen Sprache als VBSkript arbeiten?

A Ja, andere Beispiele für Skript Sprachen, die Sie mit Active Server Pages verwenden können, sind JScript und PerlScript.

Antworten Tag 2 Quiz F

Gibt es Unterschiede in der Verwendung der Write-Methode des Response-Objekts und in der Verwendung der Ausgabe Trennzeichen , um Ausgabe zum Browser zu schicken?

A Nein, es gibt keinen Unterschied zwischen der Ausgabe eines Inhalts an den Browser unter Verwendung der Write-Methode des Response Objekts und der Verwendung der Ausgabe Trennzeichen. F

Die folgende ASP-Seite übermittelt einen URL-Parameter mit Namen myvar, der den Wert Active Server Pages hat. Es gibt jedoch einen Fehler auf dieser Seite, der es verhindert, dass der URL-Parameter übermittelt werden kann. Wie würden Sie den Fehler auf dieser Seite beheben?

Fix Me!

click here

Der Fehler resultiert aus den Leerzeichen, die in der Zeichenkette "Active Server Pages" enthalten sind. Bevor Sie diese Zeichenkette übermitteln können, müssen Sie sie erst mit Hilfe der URLEncode()-Methode URL kodieren. Folgendermaßen könnte das Skript umgeschrieben werden:

Fix Me!

579

Quiz Antworten

click here

F

Wie können Sie die Zeichenkette "He said, "Hello World!" " (Er sagte, »Hallo Welt!«) unter Verwendung der Write-Methode des Response-Objekts ausgeben?

A Es gibt zwei Lösungen. Erstens können Sie zwei Anführungszeichen in Folge verwenden: Response.Write "He said, ""Hello World!"" "

Sie können auch ein Anführungszeichen unter Verwendung der CHR()-Funktion ausgeben, so wie unten angegeben: Response.Write "He said, " & CHR( 34 ) & "Hello World" & CHR( 34 )

F

Wie würden Sie ein Skript schreiben, das alle Variablen in der Form-Aufzählung des Request-Objekts anzeigt?

A Sie können alle Variablen in der Form -Aufzählung in einer FOR...EACH-Schleife, zum Beispiel so wie in der unten aufgeführten Schleife, anzeigen:

Antworten Tag 3 Quiz F

Nehmen Sie an, Sie möchten ein Cookie erstellen, das länger als eine bestimmte Benutzersitzung bestehen bleibt. Welche Eigenschaft der Cookies-Aufzählung müssen Sie einsetzen, um ein Cookie zu erstellen, das bis zu einem bestimmten Datum bestehen bleibt?

A Sie müssen die Expires-Eigenschaft einsetzen. Um zum Beispiel ein Cookie mit dem Namen password zu erstellen, das bis zum 25. Dezember 2002 bestehen bleibt, würden Sie folgendes verwenden:

580

Antworten Tag 3

F

Angenommen, Andrew ruft eine ASP-Seite auf, die den Wert red einer Session-Variablen mit Namen color zuweist. Weiter angenommen, Ruth ruft eine ASP-Seite auf, die den Wert blue der Session-Variablen namens color zuweist. Wenn Andrew die ASP-Seite aufruft, die den Wert der color Session-Variablen ausgibt, welcher Wert wird dann angezeigt?

A Die Session-Variable hätte den Wert red. Session-Variablen werden bezogen auf einen bestimmten Benutzer erstellt. F

Wie können Sie alle Session-Variablen, die sich auf einen bestimmten Benutzer beziehen, aus dem Speicher löschen?

A Sie können alle Session-Variablen, die sich auf einen bestimmten Benutzer beziehen, aus dem Speicher löschen, indem Sie die Abandon()-Methode des Session-Objekts anwenden. F

Angenommen, Andrew ruft eine ASP-Seite auf, die den Wert red einer Application-Variablen mit Namen color zuweist. Weiter angenommen, Ruth ruft eine ASP-Seite auf, die den Wert blue der Application-Variablen names color zuweist. Wenn Andrew dann eine ASP-Seite aufruft, die den Wert der color Application-Variablen ausgibt, welcher Wert wird dann angezeigt?

A Die Application-Variable hätte den Wert blue. Application-Variablen können von allen Benutzern einer Website genutzt werden. F

Welcher Fehler steckt in der folgenden Global.asa-Datei?

A Sie können die Skript Trennzeichen nicht in einer Global.asa-Datei verwenden. Sie müssen stattdessen das HTML

So sieht die ASP-Seite aus, die den Kunden angezeigt wird:

Customers

Customers:



Antworten Tag 4 Quiz F

Was ist der Unterschied zwischen der Verwendung des FILE-Attributs der #INCLUDE-Anweisung und des VIRTUAL-Attributs der #INCLUDE-Anweisung?

A Sie verwenden das FILE-Attribut, wenn Sie eine Datei einfügen, die sich im selben Verzeichnis wie die ASP-Seite mit der #INCLUDE-Anweisung oder in einem Unterverzeichnis desselben befindet. Sie verwenden das VIRTUAL-Attribut, wenn Sie eine Datei einfügen wollen, indem Sie einen virtuellen Pfad angeben.

582

Antworten Tag 4

F

Es gibt ein Problem mit dem folgenden Skript. Wie kann das Skript umgeschrieben werden, damit das Skript so wie erwartet arbeitet?



F

Welche Methode des FileSystemObject-Objekts setzen Sie ein um festzustellen, ob eine Datei vorhanden ist?

A Sie verwenden die FileExists()-Methode des FileSystemObject-Objekts um herauszufinden, ob eine Datei vorhanden ist.

Übung Erstellen Sie eine ASP-Seite, die ihren eigenen Quellcode anzeigt. Verwenden Sie in dieser Seite das FileSystemObject- und das TextStream-Objekt. Die folgende ASP-Seite mit Namen myself.asp zeigt ihre eigene Quelle an:

MySelf





Antworten Tag 5 Quiz F

Wenn Sie Ihre Microsoft Access Datenbank verschieben, was müssen Sie tun, damit Ihre ASP-Skripte Ihre Datenbank an dem neuen Ort wiederfinden?

A Wenn Sie eine Microsoft Access Datenbank verschieben, müssen Sie die System DSN unter Verwendung des ODBC Symbols in der Systemsteuerung aktualisieren.

584

Antworten Tag 5

F

Was ist an dem folgenden SQL INSERT INTO-Befehl falsch? INSERT INTO Products ( product_name ) VALUES ( Holiday Gift Basket )

A Der Text Holiday Gift Basket muss von Hochkommas eingeschlossen sein. Der INSERT INTO-Befehl sollte wie folgt aussehen: INSERT INTO Products ( product_name ) VALUES ( 'Holiday Gift Basket' )

F

Warum stellen Hochkommas ein Problem beim Einfügen und Aktualisieren von Datensätzen in Ihrer Datenbank dar?

A Microsoft Access verwendet Hochkommas um den Anfang und das Ende des Textes anzuzeigen. Wenn der Text selbst ein Anführungszeichen enthält, wird Microsoft Access dieses falsch als Kennzeichnung des Endes eines Textes interpretieren. Um dieses Problem zu vermeiden, müssen Sie alle Anführungszeichen, die in einer Zeichenkette auftauchen, verdoppeln. F

Warum stellen Anführungszeichen (") ein Problem dar, wenn eine Variable mit dem VALUE-Attribut in einem HTML Formular angezeigt werden soll?

A HTML benutzt Anführungszeichen, um den Anfang und das Ende eines Textes zu kennzeichnen. Wenn der Wert einer Variablen ein Anführungszeichen enthält, wird dieses fälschlicherweise als Kennzeichnung des Endes eines Textes interpretiert. Um dieses Problem zu vermeiden, müssen Sie Variable erst HTML kodieren bevor Sie sie anzeigen.

Übung Wie können Sie zusätzliche Produktinformationen zu Ihrem Online Store hinzufügen? Nehmen Sie zum Beispiel an, dass Sie ein neues Feld namens product_sku hinzufügen wollen, um das SKU eines Produkts zu speichern. Wie würden Sie die Datenbanktabelle und die Active Server Pages verändern, um das neue Feld einzufügen? Sie können eine oder mehrere zusätzliche Spalten zu der Produkttabelle hinzufügen, indem Sie Microsoft Access starten und die Produkttabelle in der Entwurfansicht öffnen. Nachdem Sie eine neue Spalte hinzugefügt haben, müssen Sie folgende Änderungen an den in diesem Kapitel behandelten Active Server Pages vornehmen: addProduct.asp

Fügen Sie das neue Feld zu dem HTML Formular hinzu.

updateProduct.asp

Sie müssen das neue Feld zu der Liste der Felder, die von der Datenbank abgerufen werden, hinzufügen. Fügen Sie die folgende Zeile ein:

productSKU = RS( "product_sku" )

585

Quiz Antworten

Als Nächstes müssen Sie ein neues Formular Feld zu dem HTML Formular hinzufügen. Das VALUE-Attribut des neuen Formular Feldes soll die productSKU-Variable als Wert haben. manageproducts.asp Fügen Sie ein neues Feld in die Liste der Variablen ein, die zuge-

wiesen werden, wenn ein HTML Formular bestätigt wird. Verwenden Sie die folgende Anweisung: productSKU

= TRIM( Request( "productSKU" ) )

Als nächste müssen Sie einen Vorgabewert für die productSKU-Variable erstellen, falls sie keinen Wert besitzt. Verwenden Sie die folgende Anweisung: IF productSKU = "" THEN productSKU = "?????" END IF

Schließlich müssen Sie die SQL Zeichenkette, die verwendet wird, um ein neues Produkt in die Datenbank einzufügen und die SQL Zeichenkette, die verwendet wird um ein Produkt in der Datenbank zu aktualisieren, verändern. Beide Zeichenketten müssen so geändert werden, dass Sie die productSKU-Variable enthalten.

Antworten Tag 6 Quiz F

Wie lautet die korrekte SQL SELECT-Anweisung, um den Namen jedes Produkts der Produkttabelle zu erhalten, das mehr als $20.25 kostet? SELECT product_name FROM Products WHERE product_price > 20.25

F

Welche Methode verwenden Sie, um in die nächste Zeile eines Datensatzes zu gelangen?

A Um in die nächste Zeile eines Datensatzes zu gelangen, verwenden Sie die MoveNext-Methode. F

Was müssen Sie in ein Skript einfügen, bevor Sie ADO-Konstanten wie zum Beispiel adOpenStatic verwenden können?

A Bevor Sie ADO-Konstanten verwenden können, müssen Sie die ADOVBS.incDatei in Ihr ASP-Skript einfügen.

586

Antworten Tag 6

F

Welche Standard Eigenschaft eines Recordset müssen Sie ändern, bevor Sie Recordset-Eigenschaften wie RecordCount und PageSize verwenden können?

A Sie müssen den CursorType eines Datensatz von einem forward-only Cursor auf einen mächtigeren Cursortypen wie einen Static Cursor abändern.

Übung In der heutigen Lektion haben Sie gelernt, die CatList.asp-Seite so zu verändern, dass die Liste der Produktkategorien aus dem Speicher anstatt aus der Datenbank abgerufen wird. Verändern Sie die ProductList.asp-Seite so, dass die Produktliste aus dem Speicher und nicht aus der Datenbank abgerufen wird. Die Produktliste im Speicher abzulegen ist schwieriger, als die Liste der Produktkategorien im Speicher abzulegen, da die Produkte in verschiedene Kategorien aufgeteilt werden müssen. Der Trick besteht darin, verschiedene Application Arrays für jede einzelne Kategorie zu erstellen. Das folgende Skript überträgt die Produktliste korrekt in den Speicher:





587

Quiz Antworten









get more information
 


Antworten Tag 7 Quiz F

Wie kann ich die Inhalte eines Datensatzes in ein Array übertragen?

A Sie können den Inhalt eines Datensatzes in ein Array übertragen, indem Sie die GetRows()-Methode des Recordset-Objekts benutzen. F

Die folgende SQL SELECT-Anweisung soll alle Datensätze aus der Products-Tabelle ermitteln, in denen die product_name-Spalte das Wort »candy« enthält. Was ist an dieser Anweisung falsch? SELECT * FROM Products WHERE product_name = '%candy%'

A Dieser SELECT-Befehl ermittelt nur die Datensätze, in denen der Produktname genau gleich %candy% ist. Um die Produkte zu ermitteln, deren Produktnamen den Teil candy enthalten, müssen Sie den SQL LIKE-Operator in folgender Weise verwenden: SELECT * FROM Products WHERE product_name LIKE '%candy%'

588

Antworten Tag 8

F

Wenn ich das Internet Information Server's BenutzerdefiniertefehlerFeature benutzt, um automatisch auf eine neue Seite umzuleiten, wie kann ich den Namen der ursprünglich angefragten Seite bestimmen?

A Der Name der ursprünglichen Seite wird an die neue Seite als URL-Parameter übergeben. Deshalb können Sie den Namen der ursprünglich angeforderten Seite ermitteln, indem Sie die QueryString-Aufzählung des Request-Objekts verwenden.

Übung Die Suchen-Seite, die in diesem Kapitel beschrieben wird, führt Suchabfragen für Suchbegriffe durch, die entweder in dem product_name oder dem product_briefDesc-Datenbankfeld enthalten sind. Wie würden Sie die Suchen-Seite (Search.asp) verändern, um auch Suchabfragen für Begriffe aus dem product_fulldesc-Feld durchzuführen? Um Übereinstimmungen zwischen dem Suchausdruck im Feld product_fulldesc zu suchen, müssten Sie den SQL Befehl, der die Suche ausführt, in folgender Art und Weise ändern: sqlString = "SELECT product_id, product_picture, product_name, product_briefDesc " &_ "FROM Products " &_ "WHERE product_status = 1 " &_ "AND ( product_name LIKE '%" & searchFor & "%' " &_ "OR product_briefDesc LIKE '%" & searchFor & "%' " &_ "OR product_fullDesc LIKE '%" & searchFor & "%' ) " &_ "ORDER BY product_name "

Antworten Tag 8 Quiz F

Das folgende Skript wurde erstellt, um abhängig von dem Wert der Variablen namens showPage eine von zwei Seiten anzuzeigen. Was ist falsch in diesem Skript? "12/25/1999" THEN showPage = "page1.asp" ELSE showPage = "page2.asp" END IF %>

Dieser Include-Befehl wird versuchen, eine Datei namens "