image and more - kostenloses für webmaster
image and more - kostenloses für webmaster   home image and more - kostenloses für webmaster   projects image and more - kostenloses für webmaster   partner image and more - kostenloses für webmaster   links image and more - kostenloses für webmaster   forum image and more - kostenloses für webmaster   templates image and more - kostenloses für webmaster   impressum image and more - kostenloses für webmaster
image and more - kostenloses für webmaster
image and more - kostenloses für webmaster
image and more - kostenloses für webmaster ASP

Übliche Position für ASP-Aufrufe im HTML-Dokument

<html>
<head>
...
</head>
<body>
<%
Response.Write( "Hallo 1!" )
%>
<%
="Hallo 2!"
%>
...
</body>
</html>



<html> schließt das gesamte HTML-Dokument ein.
<head> schließt den Header ein.
<body> schließt den Hauptteil ein.
ASP-Kommandos sind in <% ... %> eingeschlossen und befinden sich meistens im Hauptteil.
Sie können auch in einer externen Datei enthalten sein, die per SSI-Include eingebunden wird:
<!--#include file=incl.asp"-->
oder
<!--#include virtual=/inc/incl.asp"-->
file bezeichnet einen Pfad relativ zur aktuellen Datei, virtual einen virtuellen Pfad.
Einige Konventionen und Operatoren
'KommentarText Kommentare werden mit Hochkomma begonnen.
Response.Write( _
"Hallo !" )
Der Unterstrich '_' verbindet Zeilen (und darf nicht in Namen benutzt werden).
Dim VariablenName
Dim ArrayName(11)
Dim deklariert Variablen (kann aber weggelassen werden).
Arrays werden mit runden Klammern deklariert. Die Zählung beginnt bei 0, der angegebene Index bezeichnet den höchstmöglichen Index, es gibt also ein Element mehr als den angegebenen Wert.
OPTION EXPLICIT Damit müssen Variablen mit Dim deklariert werden.
Set objInstName = ...
Set objInstName = Nothing
Set deklariert Objekt-Instanzen (kann aber weggelassen werden). Z.B.
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Mit Nothing wird die Objekt-Instanz wieder aus dem Speicher entfernt. Z.B.
Set fso = Nothing
Function funktionsname( parm )
...funktionsname = ...

 

End Function Funktionen returnieren ein Ergebnis.
Der Rückgabewert muss dem Funktionsnamen zugewiesen werden. Die Parameter werden in Klammern eingeschlossen.
Sub prozedurname1( parm )
...
End Sub
Sub prozedurname2 parm1 parm2
...
End Sub
Prozeduren returnieren kein Ergebnis.
Mehrere Parameter dürfen nicht in Klammern eingeschlossen werden. Ein einzelner Parameter kann mit oder ohne Klammern übergeben werden.
"", vbTab Sonderzeichen: "" für ", vbTab für Tabulator. Z.B.
Response.Write( vbTab & "--""--" )
& Addition zweier Strings (+ geht auch).
+, -, *, /, \, Mod, ^ Arithmetische Operatoren (\ = ganzzahlige Division, Mod = Modulo, ^ = Exponent).
=, <>, <, >, <=, >= Vergleichs-Operatoren (= für Gleichheit, <> für Ungleichheit).
And, Or, Xor, Not

Logische Operatoren.


Verzweigungen und Schleifen

If ... Then ... Elseif ... Then ... Else ... End If If Else.
Select Case ...
Case ...
...
Case ...
...
...
Case Else
...
End Select
Select Case.
For Each ...
...
Next
For Each.
For x=1 To 10 ... Next For (ohne Step wird um 1 erhöht).
For x=1 To 10 Step 2 ... Next For.
While ...
...
Wend
While.
Do While ...
...
Loop
Do While.
Do Until ...
...
Loop
Do Until.
Einige Daten und Funktionen
len( str ) Returniert Länge des Strings str.
InStr( str, subStr )
InStrRev( str, subStr )
Returniert Position des subStr in str.
InStrRev beginnt von hinten.

Left( str, nAnzahl )
Mid( str, nStart, nAnzahl )
Mid( str, nStart )
Right( str, nAnzahl )

Returniert Teilstrings.
Now, Date, Time Datum + Uhrzeit, nur Datum, nur Uhrzeit (auf dem Server).
Now+30 bedeutet: in 30 Tagen.
Year(), Month(), Day(), Weekday(),
Hour(), Minute(), Second()
Einzelne Zeitangaben eines Datumswertes, z.B.
Day(Now).
DateDiff( format, datum1, datum2 ) Differenz zweier Datumwerte. Mit format wird die Rückgabe-Einheit definiert: yyyy=Jahre, q=Quartale, m=Monate, d=Tage, h=Stunden, m=Minuten, s=Sekunden. Z.B.
DateDiff( "d", #01/01/2000#, Now )
Request...
Response...
Request: Anfrage-Daten vom Client.
Response: Ausgabe in HTML-Seite für Client.
Request.ServerVariable( "..." )
Request.ServerVariable("SCRIPT_NAME")
Request.ServerVariable("HTTP_USER_AGENT")

ServerVariable: Eine die Umgebungsvariablen beinhaltende Kollektion.
SCRIPT_NAME: Pfad + Name der aktuellen ASP-Datei.
HTTP_USER_AGENT: Client-Browser.
Request.Form( "..." )
Request.QueryString( "..." )
Form: Per POST (per HTTP) übergebene Formulareingaben lesen.
QueryString: Per GET (per URL) übergebene Formulareingaben lesen.
Response.Write( "..." )
="..."
Textausgabe.
Die Kurzform (="...") funktioniert nur, wenn keine anderen ASP-Anweisungen im <%...%>-Block sind.
Response.Redirect( "andereseite.asp" )
Umleitung. Vorher darf es keine HTML-Ausgaben geben.
Session( "..." ) = "..."
Request.Cookies...
Response.Cookies...
In der Kollektion Session können zu einem bestimmten Benutzer gehörenden Daten gespeichert werden (IDs, Name, Warenkorb, ...) (verwendet Cookies).
Z.B. Benutzername speichern:
Session("Benutzername") = Request.Form("Benutzername")
Z.B. Benutzername prüfen:
If Session("Benutzername") = "" Then ...
Die Kollectionen Request.Cookies und Response.Cookies bieten weitergehende Möglichkeiten (Expires, Domain, Path).
Set fso = Server.CreateObject( _
"Scripting.FileSystemObject" )
Set dat = fso.OpenTextFile( _
Server.MapPath( _
"/dateiname.txt" ), _
opt, erstell )
dat.ReadAll
dat.ReadLine
dat.WriteLine
dat.Write
dat.Close
Set dat = Nothing
Set fso = Nothing
Dateizugriff.
OpenTextFile erwartet den physikalischen Pfad (z.B. c:\INetPub\WwwRoot\Datei.txt). Ein virtueller kann mit Server.MapPath umgewandelt werden.
Als zweiter Parameter wird der Öffnungs-Modus übergeben: 1=Lesen, 2=Schreiben, 8=Anhängen.
Fehlt der dritte Parameter und soll in die Datei geschrieben werden, gibt es eine Fehlermeldung, wenn sie noch nicht existiert. Ist der dritte Parameter True wird in diesem Fall eine neue Datei erstellt.
 
Alle Formulardaten anzeigen
<html><body><table>
<tr><td>Name</td><td>Wert</td></tr>
<%
For Each element in Request.Form
%>
<tr>
<td><% =element %></td>
<td><% =Request.Form(element) %></td>
</tr>
<%
Next
%>
</table></body></html>
Diese ASP-Datei muss von der das Formular enthaltenden HTML-Seite aufgerufen werden mit:
<form action="formulardatenanzeige.asp" method="post">
Formulardaten überprüfen
<%
name = True
sprache = True
If Request.Form("Versand") = _
"Abschicken" Then
If Request.Form("Vorname") = "" Then _
name = False End If
If Request.Form("Sprache") = "" Then _
sprache = False End If
If (name AND sprache) = True Then
Response.Redirect("danke.asp")
End If
End If
%>
<html>
<body>
<%
If (name AND sprache) = False Then
%>
<p>Bitte füllen Sie alle Felder aus !</p>
<%
End If
%>
<form method="post">
<% If name=False Then %>
<font color="#FF0000"><% End If %>
Name
<% If name=False Then %>
</font><% End If %>
<input type="text" size="20"
name="Vorname" value=
"<% =Request.Form("Vorname") %>">
<br>
<% If sprache=False Then %>
<font color="#FF0000"><% End If %>
Lieblingssprache
<% If sprache=False Then %>
</font><% End If %>
<select name="Sprache" size="3">
<option value="ASP"
<% If Request.Form("Sprache")="ASP" Then %>
selected
<% End If %>>ASP</option>
<option value="PHP"
<% If Request.Form("Sprache")="PHP" Then %>
selected
<% End If %>>PHP</option>
<option value="JSP"
<% If Request.Form("Sprache")="JSP" Then %>
selected
<% End If %>>JSP</option>
</select>
<br>
<input type="submit" name="Versand"
value="Abschicken">
</form>
</body>
</html>

In diesem ASP-Dokument stehen das Formular und der die Ergebnisse auswertende ASP-Code zusammen in einer Datei.
Deshalb wird das action-Attribut im <form>-Tag nicht gesetzt, wodurch die eingegebenen Formulardaten an die gleiche Seite zurückgesand werden.
Um den ersten Aufruf (ohne Formulardaten) vom zweiten Aufruf (mit eventuell nur teilweise ausgefüllten Formulardaten) unterscheiden zu können, bekommt der Submit-Button einen Namen:
<input type="submit" name="Versand" value="Abschicken">
Dann kann der erste vom zweiten Aufruf unterschieden werden mit:
If Request.Form("Versand") = "Abschicken"
Bei vollständig ausgefüllten Daten wird auf eine Bestätigungsseite umgeschaltet:
Response.Redirect("danke.asp")
Davor darf es keine HTML-Ausgaben geben.
Bei fehlenden Angaben wird das Formular erneut versand und die Felder mit fehlenden Einträgen rot gefärbt:
<font color="#FF0000">

Datenbankzugriff
Für Microsoft-Access-Datenbankdateien (.mdb) genügt als Eröffnungskommando:
cn.Open "DSN=meinDsnName"
Soll eine Datenbank per ODBC angesprochen werden, wird "ODBC;" vorangestellt:
cn.Open "ODBC;DSN=meinDsnName"
Ist die Datenbank passwortgeschützt, müssen Benutzername und Passwort mit angegeben werden:
cn.Open "ODBC;DSN=meinDsnName;UID=meinName;PWD=geheim"
Source-Code-Beispiele sind funktionsfähig, aber ohne Fehlerbehandlung.
<%
Set cn = Server.CreateObject( _
"ADODB.Connection" )
cn.Open "dsn=meinDsnName"
cn.Execute( strSql )
cn.Close
Set cn = Nothing
%>
SQL-Kommando (z.B. "INSERT ...") ausführen.
<html><body>
<%
Dim dsnName
Dim tabName
if Request.Form( "submit" ) = _
"Datenbank lesen" Then
dsnName = Request.Form( "dsn" )
tabName = Request.Form( "tab" )
Else
dsnName = "Test-Datenbank"
tabName = "Test-Tabelle"
End If
%>
<form method="post"><pre>
DSN-Name <input type="text" _
name="dsn" value="<%= dsnName %>"><br>
Tabellenname <input type="text" _
name="tab" value="<%= tabName %>"><br>
<input type="submit" name="submit" _
value="Datenbank lesen">
</pre></form>
<table border=1 cellspacing=0>
<%
if Request.Form( "submit" ) = _
"Datenbank lesen" Then
Set cn = Server.CreateObject( _
"ADODB.Connection" )
Set cmd = Server.CreateObject( _
"ADODB.Command" )
Set rs = Server.CreateObject( _
"ADODB.Recordset" )
cn.Open "dsn=" & dsnName
strSql = "SELECT * FROM " & _
tabName
cmd.CommandText = strSql
cmd.CommandType = 1
Set cmd.ActiveConnection = cn
rs.Open cmd, , 0, 1
While Not rs.EOF
Response.Write( "<tr>" )
For Each feldelement in rs.Fields
Response.Write( "<td>" & _
feldelement & "</td>" )
Next
Response.Write( "</tr>" )
rs.MoveNext
Wend
rs.Close
cn.Close
Set rs = Nothing
Set cmd = Nothing
Set cn = Nothing
End If
%>
</table>
</body></html>
SQL-Recordset einlesen und anzeigen mit VBScript.
  <%@ LANGUAGE="JSCRIPT" %>
<html><body>
<%
var dsnName = "Test-Datenbank";
var tabName = "Test-Tabelle";
if( Request.Form( "submit" ) ==
"Datenbank lesen" )
{
dsnName = Request.Form( "dsn" );
tabName = Request.Form( "tab" );
}
%>
<form method="post"><pre>
DSN-Name <input type="text" name="dsn"
value="<%= dsnName %>"><br>
Tabellenname <input type="text" name="tab"
value="<%= tabName %>"><br>
<input type="submit" name="submit"
value="Datenbank lesen">
</pre></form>
<table border=1 cellspacing=0>
<%
if( Request.Form( "submit" ) ==
"Datenbank lesen" )
{
var db = Server.CreateObject(
"ADODB.Connection" );
db.Open( dsnName );
var rs = db.Execute( "SELECT * FROM " +
tabName );
while( !rs.EOF ) { %>
<tr>
<% for( i=0; i<rs.Fields.Count;
i++ ) { %>
<td><%= rs(i) %></td>
<% } %>
</tr>
<%
rs.MoveNext();
}
db.Close();
}
%>
</table>
</body></html>

SQL-Recordset einlesen und anzeigen mit JScript.
Meine Buchempfehlung


image and more - kostenloses für webmaster
image and more - kostenloses für webmaster
  hp-vorlagen
  banner
  buttons
  background
  lines
  hp-vorlagen 4 sale
  webart
  javascript
  tutorial
  referenzen
  hitlist
  service
  webshop
  contact
  toptexte
image and more - kostenloses für webmaster
image and more - kostenloses für webmaster